03 2017 档案
摘要:函数模版特例化例子://第一个版本;可以比较任意两个类型template int compare(const &T,const T&);//第二个版本处理字符串字面常量;重载实...
阅读全文
摘要:Item18:让接口容易被正确使用,不易被误用 总结: 1.好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达到这些性质。 2.“促进正确使用”的办法包括接口...
阅读全文
摘要:问题1:为什么要内存对齐?平台原因:不是所有的平台都能访问到任意地址上的任何数据,如果在特定的地址上找不到数据的话就会抛出硬件异常。性能问题:简单的来说如果没有使用内存对齐的话...
阅读全文
摘要:Item 13:以对象管理资源 关键的两个想法(这种方式其实在很多地方都可以看出影子,比如managing pool的模型): 1.获得资源后立刻放入管理对象(...
阅读全文
摘要:Item 05:了解C++默默编写并调用了哪些函数 总结:编译器可以暗自为class创建default 构造函数、copy构造函数、copy assignment操作符...
阅读全文
摘要:(将每一条item的总结和自己的理解给记录下来,以后有需要的话可以再回头参阅这些资料,不懂的再翻书温故。) Item 02:尽量以const ,enum,inline替...
阅读全文
摘要:在看《深入探索C++对象模型》这本书的时候,我看见了bitwise senimatics和memberwise senimatics,看的时候还不清楚这两个是什么意思,书本上直...
阅读全文
摘要:在完成一个迭代器的时候,我们可能会暴露太多的细节在外面,为了将这些细节给隐藏,我们需要封装,这也是为什么每一种STL容器都提供了一种专属的迭代器。 为了解决以“迭代器所...
阅读全文
摘要:new运算符和delete运算符 运算符new看似是一个简单的运算,比如:int *pi=new int(5);但是它实际由两个步骤完成: 1.通过适当的new运算符函...
阅读全文
摘要:member function相对于nonmember function之间不存在效率之间的差别,因为编译器内部已经将“member 函数实体”转化为对等的“nonmember...
阅读全文
摘要:首先给出以下例子: class X{};class Y:public virtual X{};class Z:public virtual X{};class A:public...
阅读全文
摘要:Default Constructor的构建操作 default constructors在需要的时候被编译器产生。 例:clas Foo{public: ...
阅读全文
摘要:在class中,一个non-inline member function只会诞生一个函数实体,而inline function会在每一个使用者(模块)身上产生一个函数实体。个人...
阅读全文