C++ Primer 第4-6章

Chapter 4

不能使用指向const对象的指针修改基础对象,然而如果该指针指向的是一个非const对象,可以用其他方式来修改其所指的对象。  

比如有个指针const int *p,那么不管你指的是什么对象,你都不能用p来修改它所指向的对象,当然你改p是没有问题的。

调用new动态创建长度为0的数组是合法的

静态数组的长度不能是0,动态的可以。不知道为什么在项目的代码里看到有0数组,奇怪。


Chapter 5

sizeof返回整个数组在内存中的存储长度

可以用sizeof(数组名)/sizeof(数组类型)来求得数组中元素个数,切记数组传递给函数作参数时会退化为指针,这时候就不能求了


不能将数组转化为指针的情况有:数组用作取地址操作符的操作数或sizeof操作符的操作数时,或用数组对数组的引用进行初始化时,不会将数组转化为指针。


Chapter 6

assert是一种预处理宏,使用单个表达式作为断言条件。如果预处理变量NDEBUG没有定义,则assert将求解它的条件表达式。若条件为false,assert输出信息并终止程序的执行。

简单来说,就是assert的条件为true才可以不然就直接终止,定义NDEBUG要在引用<cassert>头文件之前,否则无效。
try
{
//代码
throw(异常)
}
catch{a异常}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值