随笔分类 - C++primer
C++primer第五版读书笔记
摘要:1.shared_ptr:允许多个指针指向同一个对象 初始化方式: shared_ptr p1 = make_shared(10);//最好使用这种方式 shared_ptr p2(new int(20)); //只能用直接初始化方式 和普通指针有一样的操作,*,->,swap等 支持拷贝与赋值与自定义删除器,特别地: p.get()能返回p中保存的指针,...
阅读全文
摘要:1.左值和右值 左值:非临时对象,可以在多条语句里面使用的对象。 右值:临时对象,只能在本条语句里面使用。 如:int i = 0;//i是持久对象,能在多条语句里面使用,0是临时对象,只能在本条语句里面使用 2.左值引用和右值引用 在C++11以前,右值不能被引用,最大限度就是用常量引用绑定一个右值:const int &a = 1 左值引用:& 右值引用:&& 如下: void proces...
阅读全文
摘要:1.不可以重载的运算符: ::, .*, ., ? :。 2.一元重载:只有一个参数 二元重载:有两个参数,左侧运算对象传递第一个参数,右侧运算对象传递第二个参数。 在类外:void operator+(int, int) 类内:Name operator(int)。因为会有一个隐含的this指针,
阅读全文
摘要:1.类型别名 关键字typedef typedef int myInt; //myInt为int同义词 可以用myInt来声明对象 myInt a = 0; //等于int a = 0 在函数指针中typedef用处更大,以后细说 C++11新标准下,可以用using using myInt = i
阅读全文
摘要:这是个好东西,Effective C++里都已说过:能用的地方尽量用,大师都这样说了,我们这些渣渣为何不遵循? const就是常量,这就有个重要的东西了:常量必须初始化 const int a = 0; const int b = get_size(); //已知有get_size()函数 cons
阅读全文
摘要:2.3.1引用 在C++11标准中,增加了一个右值引用,稍微高级的东西,以后会更新。 一般来说引用都是说的左值引用。 这里就有一个问题,什么是左值,什么是右值。 简单一句话:左值长久,右值短暂 引用其实就是给对象起了另一个名字。 如: int ival = 0; int &refVal = val;
阅读全文
摘要:两种选择: 类的行为像一个值:有自己的状态,拷贝一个像值的对象时,副本和原对象是完全独立的。改变副本不会改变原对象。 类的行为像一个指针:类是共享状态,当拷贝这个对象时,原对象和副本对象使用相同的底层数据,改变副本也会改变原对象。 1.行为像值的类 拷贝对象,而不是拷贝指针。 代码如下: class
阅读全文
摘要:1.拷贝构造函数 基本形式:Name(const Name&) 对于类类型成员,会调用拷贝构造函数拷贝,对于内置类型成员就直接拷贝。对于数组,合成的拷贝构造函数会逐个拷贝都另一个数组中(内置类型)。 拷贝构造函数发生的时候: 发生在用 = 定义变量时 将一个对象作为实参传递给一个非引用类型的形参 从
阅读全文

浙公网安备 33010602011771号