第5章 表达式

操作符%,该操作符的操作数只能为整型。

只有在必要时才使用后置操作符。
因为前置操作符需要做的工作更少,只需加1后的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。
后自增操作的优先级高于解引用操作。前自增操作符和解引用操作符的优先级相同。
*iter++等效于*(iter++)

对数组做sizeof操作等效于将对其元素类型做sizeof操作的结果乘上数组元素的个数。

值初始化的()语法必须置于类型名后面,而不是变量后。
int *pi = new int(); //pi points to an int value-initialized to 0

一旦删除了指针所指向的对象,立即将指针置为0,这样可以非常清楚地表明指针不再指向任何对象。

const对象的动态分配
const int *pci = new const int(1024);

整型提升:所有比int小的整型,包括char,signed char,unsigned char,short和unsigned short,如果该类型的所有可能的值都能包容在int内,它们会被提升为int型。

显示转换
dynamic_cast:支持运行时识别指针或引用所指向的对象。
const_cast:转换掉表达式的const性质。
static_cast:转换隐式执行的任何类型。
reinterpret_cast:为操作数的位模式提供较低层次的重新解释。
int *ip;
char *pc = reinterpret_cast<char*>(ip);
char *pc = (char*)ip; //旧式强制类型转换,与上等效
pc所指向的真实对象其实是Int型,而并非字符数组。
string str(pc); //error

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值