摘要: 1.两种不同的常量:const在*左边表示被指物为常量,在右边表示指针为常量 * 常量指针:不可以改变指向的位置,但可以改变被指的内容(int* const num = 5); * 指针常量(指向常量的指针):可以改变指针指向的位置,但是不可以改变被指物的内容(const int* num = 5); 2.STL标准库中的迭代器 vector vec; const vector::... 阅读全文
posted @ 2017-10-01 14:47 CoderZSL 阅读(193) 评论(0) 推荐(0)
摘要: 一. 永远在使用对象之前将它初始化 1.对于内置类型,手动完成初始化。 例如:int =0; 2.除了内置类型之外的类型,由构造函数进行初始化:确保每个构造函数都将对象的每一个成员进行了初始化。 二. 特别区分“赋值”和“初始化” 例如:有一个类:A中有一个成员变量string name; 有一个构 阅读全文
posted @ 2017-10-01 14:47 CoderZSL 阅读(184) 评论(0) 推荐(0)
摘要: 1.#define不被视为语言的一部分,并且使用常量会比#define导致较小的码 2.常量替换#define的两种情况 定义常量指针(当指针所指物为常量时,应该有两个const),const char* const A = “zhou”; class中的常量:将常量的作用域限制在类中,因此必须为类 阅读全文
posted @ 2017-10-01 14:46 CoderZSL 阅读(181) 评论(0) 推荐(0)
摘要: 两种选择: 类的行为像一个值:有自己的状态,拷贝一个像值的对象时,副本和原对象是完全独立的。改变副本不会改变原对象。 类的行为像一个指针:类是共享状态,当拷贝这个对象时,原对象和副本对象使用相同的底层数据,改变副本也会改变原对象。 1.行为像值的类 拷贝对象,而不是拷贝指针。 代码如下: class 阅读全文
posted @ 2017-10-01 14:30 CoderZSL 阅读(174) 评论(0) 推荐(0)
摘要: 1.拷贝构造函数 基本形式:Name(const Name&) 对于类类型成员,会调用拷贝构造函数拷贝,对于内置类型成员就直接拷贝。对于数组,合成的拷贝构造函数会逐个拷贝都另一个数组中(内置类型)。 拷贝构造函数发生的时候: 发生在用 = 定义变量时 将一个对象作为实参传递给一个非引用类型的形参 从 阅读全文
posted @ 2017-10-01 14:29 CoderZSL 阅读(205) 评论(0) 推荐(0)