C++ Primer笔记(7)

建议:只有在必要时才使用后置操作符。
前置操作需要做的工作更少,只需要加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表达式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值