随笔分类 - c++
摘要:input迭代器:只能向前移动,一次一步,用户只能读取,不能修改它们所指向的东西,而且只能读取一次。output迭代器情况类似,但一切只为输出:它们只能向前移动,一次一步,用户...
阅读全文
摘要:Item41:了解隐式接口和编译期多态、 纵使你从未使用过templates,应该不陌生“运行期多态”和“编译期多态”之间的差异。因为它类似于“哪一个重载函数该被调用(发生...
阅读全文
摘要:Item 32:确定你的public继承塑膜出is-a的关系 如果你令class D以public继承class B,你便是告诉编译器说,每一个类型为D的对象同时也是一...
阅读全文
摘要:Item26:尽可能延后变量定义式的出现时间Item27:尽量少做转型动作关于这一点,专门开了一个新的总结: http://blog.csdn.net/m0_37316917/...
阅读全文
摘要:C++四种新式转型:const_cast(expression)dynamic_cast(expression)reinterpret_cast(expression)stat...
阅读全文
摘要:例子:class A{public: int a; char b;}A temp;cout<<temp.a<<endl;问题1:什么时候会合成出一个default ...
阅读全文
摘要:特点一:成员公用内存,且按所占内存最大的数据成员分配内存//举例1union A{ char a;//1个字节 int b;//4个字节 char c;//1...
阅读全文
摘要:整体而言: sort算法在数据量大时采用Quick Sort(快速排序),一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负担,就改用Inse...
阅读全文
摘要:POD意指Plain Old Data,也就是标量性别(Scalar Types)或传统的C Struct型别。POD型别必然拥有trival constructor/dest...
阅读全文
摘要:SGI STL第一级配置器:templateclass __malloc_alloc_template{...};其中:1.allocate()直接使用malloc(),dea...
阅读全文
摘要:函数模版特例化例子://第一个版本;可以比较任意两个类型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...
阅读全文