ec++的笔记(1) --- 让自己习惯C++

1. Widget w3 = w2; //调用copy构造函数;

    w3 = w2;  //调用copy assignment函数;

    值传递函数的参数是调用copy构造函数。


2. 视C++为一个语言联邦

  C,Object-Oriented C++,Template C++, STL。


3. 对于单纯的常量,最好以const对象或enums替换#define;

    对于形似函数的宏,最好改用inline函数替换#define。


4. const:

<span style="font-size:18px;"><span style="font-size:18px;">int a = 5;
int* const p = &a;
(*p) ++;	//ok, 指针p不能指向其它的地址,但是值可以改变
//p ++;		//error   
const int *pp = &a;
//(*pp) ++;	//error,指针pp值不能改变,但是可以指向其它地址
pp ++;		//ok</span></span>

  mutable(可变的): 可以释放掉non-static成员变量的bitwise constness。


5. 初始化:

  i. 为内置型对象进行手工初始化,因为C++不保证初始化它们;

  ii. 构造函数最好使用成员初始列,而不要在构造函数本体内使用赋值操作。初始列列出的成员变量,其排列次序应该和它们在class中的声明次序相同。

  iii. 为免除“跨编译单元之初始化次序”问题,用local static对象替换non-local static 对象。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值