概述
(1)c++表达式要不然是右值,要不然就是左值。
(2)当一个对象被用作右值的时候,用的是对象的值,当一个对象被用作左值的时候用的是对象的身份。
(3)在需要左值的地方可以用右值来代替,但是不能把右值当成左值使用。
(4) 对于那些没有指定执行顺序的运算符来说,如果表达式指向并修改了同一个对象,将会引发错误并产生未定义的行为。
int i = 0;
cout << i << " " << ++i <<endl;
(5) bool a = true; bool b = -a; //b还是true
(6) 参与取余运算的运算对象必须是整数类型。
(7)进行比较运算时除非比较的对象是布尔类型,否则不要使用布尔字面值true和fasle作为运算对象。
(8)随着条件运算嵌套层数的增加,代码的可读性急剧下降。因此,条件运算的嵌套最好别超过两到三层。
(9)条件运算符的优先级非常低,因此当一条长表达式中嵌套了条件运算字表达式时,通常需要在它的两端加上括号。
(10)位运算符作用于整数类型的运算对象,并把运算对象看成是二进制位的集合。
(11) sizeof运算符返回一条表达式或一个类型名字所占的字节数,其所得的值是一个sizeof_t类型的常量表达式。
(12)强制类型转换本质上是非常危险的。
(13)强制类型转换:static_cast , dynamic_cast , const_cast , reinterpret_cast
(14)使用static_cast进行强制类型转换,只有不包含底层const都可以
double slope = static_cast<double>(j)/i;
(15)const_cast只能改变运算对象的底层const
(16)使用空语句时应该加上注释,从而令读这段代码的人都知道该语句是有意省略的。
(17)类型runtime_error是标准库异常类型的一种,定义在stdexcept头文件中。
(18)行函数的调用完成两项工作:一是用实参初始化函数对应的形参,二是将控制权转移给被调用函数。
(19)实参是形参的初始值。
(20)函数的返回类型不能是数组类型或函数类型,他可以使指向他们的指针。
(21)把只存在于块执行期间的对象称为自动对象。
(22)函数的声明也称作函数原型。
(23)如果形参是引用类型,它将绑定到对应的实参上;否则,将实参的值拷贝后赋给形参。
(24)熟悉c的程序员常常使用指针类型的形参访问函数外部的对象。在c++语言中,建议使用引用类型的形参替代指针。
(25)如果函数无须改变引用形参的值,最好将其声明为常量引用。
(26)void fcn(const int i){}
void fcn(int i){} //error 重复定义了fcn(int)
(27) 管理数组实参的三种方法:1.使用标记指定数组长度。 2.使用标准库规范。 3.显示传递一个表示数组大小的形参
(28) 当使用main列表中的argv中的实参时,一定要记得选的实参从argv[1]开始;argv[0]保存程序的名字,而非用户输入。
(29)省略符形参只能出现在形参列表的最后一个位置。
最后
以上就是威武画板为你收集整理的从零单排c++ primer(5)的全部内容,希望文章能够帮你解决从零单排c++ primer(5)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复