1、当只有一个操作数为负数时,求模操作结果值的符号可以依据分子(被除数)或分母(除数)的符号决定。
2、如果求模的结果随分子的符号,则除出来的值向0一侧取整,如果求模与分母的符号匹配,则除出来的值向负无穷一侧取整。故“21%-5”的结果可能是1或-4,“21/-5”的结果可能是-4或-5。
3、逻辑与和逻辑或操作符总是计算其左边的操作数,只有在仅仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解其右操作数。 这种求值策略称为“短路求值法”。
4、如果操作数为负数,则位操作符如何处理操作数的符号位取决于机器。
5、对于位操作符,由于系统不能确保如何处理其操作数的符号位,所以强烈建议使用usigned整型操作数。
6、C++允许将多个赋值操作写在一个表达式中,与其他二元操作符相反,赋值操作符具有右结合性。
7、自增(++)和自减(–)操作符分为前置和后置两种形式,前置操作返回操作后的值,所以返回对象本身,是左值,而后置操作符返回的是操作前的值,是右值(常量)。
8、由于后自增操作的优先级高于解引用操作,所以*iter++等价于*(iter++),这里我们要注意解引用操作符*的操作数是iter未加1前的副本!
9、逗号表达式是一组由逗号分隔的表达式,这些表达式从左向右计算,逗号表达式的结果是其最右表达式的值。如果最右边的操作数是左值,则逗号表达式的值也是左值。
10、初始的( )语法必须置于类型名后面,而不是变量后。
11、如果指针指向的不是new分配的内存地址,则在该指针上使用delete是非法的。
12、如果指针的值为0,则在其上做delete操作是合法的,不论该指针是否是new分配的。
13、连续两次delete同一个指针可能破坏自由存储区。
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。