0 导读
术语
声明式(declaration)
对象声明(object)——指定类型
函数声明(function)——指定参数和返回类型
类声明(class)——指定类名
模板声明(template)——tempalte或template
定义式(definition)
1、为对象(object)分配内存
2、为函数(function)或模板函数(template function)提供代码本体
3、列出类(class)和模板类(template class)的成员
初始化(initialization)
对于类来说,其对象的初始化需要通过构造函数来实现。
1、默认构造函数(default constructor)
参数列表要么没有参数,要么所有参数都提供缺省值。
2、构造函数(constructor)
在自己定义构造函数时,可以在类名前加上explicit关键字进行限定,禁止编译器执行非预期的类型转换。即内置类型向类类型的转换不能通过隐式类型转换进行,而只能通过显示类型转换(强制类型转换)实现。
3、复制构造函数(copy constructor)
一般在定义一个类时,会自动定义复制构造函数和重载复制运算符,但如果私有数据中有指针类型变量时,就需要自己重新定义复制构造函数和重载的赋值运算符,实现深度复制——拷贝指针所指向的地址中所存放的值;否则会自动执行浅复制——仅仅拷贝了指针(地址),这样使用new分配动态内存后,再使用delete释放时会造成同一个地址被释放了两次。
“=”赋值运算符的使用:当使用“=”初始化一个新的类对象时,将会调用复制构造函数;对于一个已经定义过的类对象,再使用“=”时,由于该类对象在定义时已经调用过构造函数进行初始化,所以不会调用复制构造函数,而是调用重载的赋值运算符函数。
calssname& operator = (const classname& rhs)
STL标准模板库(Standard Template Library)
容器(vector、list、set、map等)
迭代器(vector::iterator、set::iterator等)
算法(for_each、find、sort等)
命名习惯
二元操作符:左右两个参数分别定义为lhs(左手边)和rhs(右手边)
指针:pt表示指向一个T型对象(point to T)
引用:rw表示引用一个W型对象(reference to W)
成员函数:mf(member function)
关于线程
如果所检验的C++构件在多线程环境中有可能引发问题,就把它指出来。
TR1和Boost
TR1:表示规范,描述加入C++标准程序库的新机能,所有的TR1组件都被置于命名空间(namespace)tr1内,而tr1又被嵌套再命名空间std中。
Boost:组织亦网站(http://boost.org),提供可移植、同僚复审、源代码开放的C++程序库。且大多数TR1机能以Boost的工作为基础。
来源:CSDN
作者:Bgfszhz
链接:https://blog.csdn.net/Bgfszhz/article/details/103941002