前些天看了《Effective C++》这本书,感受颇深,现将读书过程中记录的相关笔记总结如下,希望会对大家有所帮助。
1、千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用。
原因:返回一个局部对象的引用他的问题在于,局部对象仅仅是局部的,也就是说局部对象是在定义时被创建,在离开生命空间时被销毁的。所谓生命空间就是他们所在的函数体,当函数返回时,程序的控制离开了这个空间,所以函数内部的所有局部对象都会被自动销毁。
2、写一个返回废弃指针的函数无异于坐等内存泄露的到来。
3、inline指令就像register,他只是对编译器的一种提示,而不是命令。一个给定的内联函数是否真的被内联取决于所用的编译器的具体实现。如果函数中包含静态对象,通常要避免将它声明为内联函数。