03 2016 档案
C++坑点集合 - 1 隐式调用和默认实现的构造函数的坑
摘要:C++是一个编译器会替你在背后做很多事情的语言,包括模板实例化,按需要创造隐式的构造函数,默认构造你没有显式构造的成员,按需进行隐式转换和饮食构造等等,如果没有彻底了解清楚,就容易被这些编译器背后做好的事情坑到,这个系列文章就来总结我在写C++时遇到的各种坑。 所谓隐式调用和默认实现的构造函数,当你写一个赋值语句的时候,编译器会首先检查两个类型又没有直接实现的赋值函数,然后检查赋值左右的类... 阅读全文
posted @ 2016-03-20 14:13 PointerSMQ 阅读(2251) 评论(3) 推荐(1)
源码阅读笔记 - 2 std::vector (2) 关于Allocator Aware Container特性
摘要:所有的STL容器,都保存一个或默认,或由用户提供的allocator的实例,用来提供对象内存分配和构造的方法(除了std::array),这样的容器,被称作Allocator Aware Container。早期的STL,设计的尚不完善,各种实现之间不能相互兼容,这一点在侯捷的《STL源码剖析》中有 阅读全文
posted @ 2016-03-06 14:40 PointerSMQ 阅读(949) 评论(0) 推荐(0)
源码阅读笔记 - 2 std::vector (1)
摘要:vector的源码真是太长了,今天用了一个下午和一个晚上看和注释了前面的一千行左右 p.s.博客园的代码高亮真是太垃圾, 如果想要阅读带注释的源码,推荐粘贴到VS2015里,然后按ctrl+z取消自动格式化,用我格式化好的样子,并在最前面#include <vector>和using namespa 阅读全文
posted @ 2016-03-05 22:14 PointerSMQ 阅读(1119) 评论(0) 推荐(0)