-
P192 inline关键字只是对编译器提出了一个请求,至于接受还是忽略这一请求则由编译器来决定;
-
P194 应尽量避免使用全局变量,当常量永远不会被改变时,使用全局变量是没问题的;
-
P205 常量引用参数:
- 形式:const int& num
- 作用:防止值被修改。
- 意义:既然不想值被修改,为什么不直接用值传递呢?原因在于,在值传递中,实际参数和形式参数是独立的变量;在引用传递中,实际参数和形式参数是同一个变量。对于一个string类型的对象,引用传递比值传递更有效,因为对象可能占据大量内存。然而对于int和double类型,区别是微不足道的。所以原始的数据类型不需要在函数中改变,就可以简单地声明值传递。
-
P238 传递数组参数其实就是传递了数组在内存中的首地址。可通过在函数中定义const数组参数来防止数组在函数中被修改。
-
P239 如果在函数f1中定义了一个const变量,而且这个参数被传递给了另一个函数f2,那么f2中的对应参数 必须声明为const类型,确保一致性。
-
P298 对象的数据域和函数可用对象名通过点运算符(.)来访问,如果是指针则使用->来访问;
-
P299 在C++中我们使用赋值运算符=来进行对象间内容的赋值。缺省情况下,源对象的每个数据域会被复制到目的对象的相应数据域,但依然是两个独立的对象。
-
P299 数据存储在对象里,函数并不是。
-
P301 类定义文件的扩展名为
.h
,类实现文件的扩展名为.cpp
-
P301 类定义末尾有分号
-
P305 如果一个函数是类内定义实现的,那么它就自动地成为一个内联函数;
-
P308 数据域private封装,提供访问器get和修改器set
-
P319
-
string s= "abcd";//效率不高,包含两个步骤,首先使用一个字符串文本来创建一个字符串对象,然后把这个字符串对象拷贝给s string s("abcd");//更高效的一种方式
-
-
P327 对象可以通过值或引用传递给函数作参数,但通过引用传递更加高效
-
P335 只读成员函数不会改变对象的数据域。
-
P336 只有实例成员函数可被定义为只读函数,静态函数不能被定义为只读函数。因为访问器实例函数不会改变对象内容,所以应该总是被定义为只读成员函数。
-
P359 使用指针类型的同义名字可以避免在声明指针时缺少星号的错误。eg:
C++Tips_《C++程序设计 Y.Daniel Liang》
最新推荐文章于 2022-10-23 21:13:35 发布