现在的位置: 首页 > 综合 > 正文

C++ Primer笔记(7)

2012年08月24日 ⁄ 综合 ⁄ 共 524字 ⁄ 字号 评论关闭

建议:只有在必要时才使用后置操作符。
前置操作需要做的工作更少,只需要加1后返回加1后的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。
逗号操作符:表达式从左向右计算。逗号表达式的结果是其最右边表达式的值。
new表达式返回指向新创建对象的指针,我们通过该指针来访问对象。
double *pd=new double(33);
delete pd;
创建动态对象时,(几乎)总是对它做初始化也是一个好办法。
int *pi=new int;//该处没有初始化。
int *pi=new int();//会调用默认初始化函数,该处被初始化为0。
const int *pci=new const int(1024);

delete pci;


动态创建的const对象必须在创建时初始化,并且一经初始化,其值就不能再修改。
const string *pcs=new const string;//隐式初始化,调用默认构造函数。

内置类型对象或未提供默认构造函数的类类型对象必须显式初始化。


三种常见的程序错误(与动态内存相关)
1、删除指向动态分配内存的指针失败(内存泄漏)。
2、读写已删除的对象。删除指针后,将指针置0。
3、对同一个内存空间使用两次delete表达式。

抱歉!评论已关闭.