More Effective C++ 阅读笔记

原创 2014年02月14日 16:18:22

3.1指针与引用的区别:

首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向
任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。

指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变。 

3.2尽量使用C++风格的类型转换:

主要是对static_cast、const_cast、dynamic_cast、reinterpret_cast的运用,可以参照之前的帖子。

3.3不要对数组使用多态,会有很多意想不到的错误。

3.4对于不含缺省构造函数的数组,如何构造,这是一个问题。嘿嘿,答案在于此。


4.1尽量不要使用隐式类型转化,声明explicit

4.2不要重载&&、||、,运算符,注意短路运算法则,你无法保证。

4.3不要惊讶,就是有个operator new 就象 malloc 一样,operator new的职责只是分配内存。

4.4operator new 等价于malloc,operator delete 等价于free

相关文章推荐

侯捷 more effective c++(WQ中文版) 阅读笔记1

1 指针与引用的区别(指针与引用都是间接引用其他对象) (1)操作符的不同 指针用操作符 '*'和'->' 引用用操作符 '.' (2)两者使用环境 在任何情况下都不能使用指向空值的引用。一...

More Effective C++笔记

(之前Mindjet笔记的截图) 更多:(http://blog.csdn.net/u011512437/article/details/48879543 “Effective C++笔记”)...

More Effective C++读书笔记(一)

条款1:指针与引用的区别 1、二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变 ...
  • necrazy
  • necrazy
  • 2013年11月08日 10:07
  • 672

《More Effective C++》读书笔记-基础议题

一、仔细区别 pointers 和 references1)引用不可以为空(必须指向某个对象),而指针可以为空。 引用带来的好处:不需要检查空引用,也就省了相应的处理代码 指针在使用前则需要判断是...
  • will130
  • will130
  • 2016年04月30日 14:56
  • 197

More Effective C++读书笔记(二)

操作符 条款5:谨慎定义类型转换函数 1.C++编译器能够在两种数据类型之间进行隐式转换(implicit conversions),它继承了C语言的转换方法。这种可怕的转换可能会导致数据的丢失 ...
  • necrazy
  • necrazy
  • 2013年11月08日 10:08
  • 667

More Effective C++读书笔记(六)

杂项讨论 条款32:在未来时态开发程序 1. 用C++语言自己来表达设计上的约束条件,而不是用注释或文档。比如如果一个类在设计时绝不打算成为derived classes,那么就不应该只是在头文件...
  • necrazy
  • necrazy
  • 2013年11月08日 10:11
  • 667

More Effective C++读书笔记(三)

异常 条款9:使用析构函数防止资源泄漏 这一章我觉得可以算作是异常安全处理的一种情况,也就是说在异常发生的情况下,保证资源能被正确释放。 这里分为两种情况来讨论, 一是指针操作 举个例子: ...
  • necrazy
  • necrazy
  • 2013年11月08日 10:09
  • 754

【more effective c++读书笔记】【第5章】技术(5)——Reference counting(引用计数)(1)

一、非引用计数实现的String类 #ifndef STRING_H #define STRING_H #define _CRT_SECURE_NO_WARNINGS #include class ...

【more effective c++读书笔记】【第3章】异常(2)

条款12:了解“抛出一个exception”与“传递一个参数”或“调用一个虚函数”之间的差异 2、例子: istream operator>>(istream& s, Widget& w); void...

More Effective C++读书笔记(五)

技术 条款25:将构造函数和非成员函数虚拟化 1.虚拟构造函数是指能够根据输入给它的数据的不同而建立不同类型的对象,比如从磁盘读取对象信息。 2.被派生类重定义的虚拟函数不用必须与基类的虚拟函数...
  • necrazy
  • necrazy
  • 2013年11月08日 10:11
  • 788
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:More Effective C++ 阅读笔记
举报原因:
原因补充:

(最多只允许输入30个字)