More Effective C++之4

原创 2006年05月30日 17:05:00
条款4:非必要不提供default constructor

       对这一条款之中的详情,我处于半解之中。首先要说的是,关于default constructor在不显示提供的情况下,不同编译器存在不同的策略。我不认为所有编译器在这里会提供同样的方法。如果显示的提供这样的方法。我觉得未见得不好。我拿VC6作了一个测试,检测VC6的策略。测试表明default constructor会递归调用成员对象的构造函数,无论有没有显式给出这样一个构造函数。可以说,在VC6中这个问题不是特别严重。因为VC6在自动生成类的时候,会给出默认构造函数。但在其他编译器下,目前不能确认这个问题。

More Effective C++----(4)避免无用的缺省构造函数 & (5)谨慎定义类型转换函数

Item M4:避免无用的缺省构造函数 缺省构造函数(指没有参数的构造函数)在C++语言中是一种让你无中生有的方法。构造函数能初始化对象,而缺省构造函数则可以不利用任何在建立对象时的外部数据就能初始化...

《More Effective C++》 4: 非必要不提供默认构造函数

《More Effective C++》 Rule 4: 非必要不提供默认构造函数

More Effective C++学习笔记(4)-效率

主题 概要 C++ More Effective C++ 效率 编辑 时间 新建 20170121 序号 参考资料 1 More ef...

《More Effective C++》重点摘要二:操作符

对定制的“类型转换函数”警觉。两种函数允许编译器执行类型转换:1)单变量constructors;2)隐式类型转换操作符。第一种函数可以是明确只有一个单变量的constructor,也可以是拥有除第一...

more effective c++之Item M1:指针与引用的区别

1.参数为引用不用判断为空,指针需要判断空指针; 2.有些函数返回应用比返回指针从语法和形式上更好,例如重载operator [ ]。 指针与引用看上去完全不同(指针用操作符“*”和“->...

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

技术 条款25:将构造函数和非成员函数虚拟化 1.虚拟构造函数是指能够根据输入给它的数据的不同而建立不同类型的对象,比如从磁盘读取对象信息。 2.被派生类重定义的虚拟函数不用必须与基类的虚拟函数...
  • necrazy
  • necrazy
  • 2013年11月08日 10:11
  • 816

《More Effective C++》7:千万不要重载 &&, ||, 和 ,操作符

《More Effective C++》Rule7:千万不要重载 &&, ||, 和 ,操作符

看了下More Effective C++,做了点小结

今天主要是学习More Effective C++ 1) 指针和引用的使用 指针:在对象为空时;不同的时刻指向不同的对象时 引用:总指向一个对象,并且一旦指向这个对象就不再改变时; 当时重载某个...

前置和后置操作符的区别(More Effective_C++_6(运算符))

++和–的原理类似,下面仅++操作符来分析前置和后置的区别先看一段代码:class A{ pubilc: A& operator++();//前置++ const A& operator++(int)...

【more effective c++读书笔记】【第5章】技术(2)——限制某个class所能产生的对象数量

一、允许零个对象 每当产生一个对象时会有一个构造函数被调用,因此阻止某个类产出对象的最简单方法就是将该类的构造函数声明为private。 例子: class CantBeInstantiated{ p...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:More Effective C++之4
举报原因:
原因补充:

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