Essential C++ 读书笔记 Ch4
2021/10/19 22:11:05
本文主要是介绍Essential C++ 读书笔记 Ch4,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
4 基于对象的编程风格
4.1 实现class
所有member function都必须在class主体内进行声明。至于是否要同时进行定义,可以自由决定。
class名称之后的两个::即所谓class scope resolution运算符(类域作用解析)。
4.2 构造函数和析构函数
member initialization list
是构造函数特有的语法,在开始执行函数体之前就为成员变量赋初始值。
destructor
其名称有严格规定:class名称加上~前缀。它绝不会有返回值,没有任何参数,绝不能重载。
成员逐一初始化
如果有必要为某class设计copy constructor,那么也同样要为他编写copy assignment operator
4.3 mutable 和 const
没有一个const reference class参数可以调用公开接口的non-const成分
将某变量标识为mutable,意味着宣传对其做出改变不改变class object的常量性。
4.4 this
this指针系在member function内用来指向其调用者(一个对象)。编译器自动将this指针加到每一个member function的参数列表。
4.5 静态类成员
static data member用来表示唯一的、可以共享的member
static member function 可以在“与任何对象都毫无瓜葛”的情况下被调用。
待完善
4.6 打造 iterator class
4.7 友元
任何class都可以将其他function或class指定为friend,而friend具备了与class member function相同的访问权限,可以访问class的private member。
4.8 实现copy assignment operator
4.9 实现function object
lt(ival)
中,lt可能是函数名称,可能是函数指针,也可能是一个提供了function call 运算符的function object。
这篇关于Essential C++ 读书笔记 Ch4的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享