
STL/Boost
文章平均质量分 77
LceChan
这个作者很懒,什么都没留下…
展开
-
智能指针之 auto_ptr
智能指针实际上是一个类(class),里面封装了一个指针指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能自动手动的使用free或delete去释放.所以使用heap时处理的不好很容易出现啥内原创 2013-05-21 22:45:39 · 807 阅读 · 0 评论 -
智能指针之 shared_ptr
前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针,顾名思义,有个shared表明共享嘛.所以shared_ptr类型的智能指针可以做为STL容器的元素下面我们来瞧瞧shared_ptr具体是咋实现的.相较auto_ptr有下面几个不同的地方原创 2013-05-21 23:18:53 · 728 阅读 · 0 评论 -
STL中vector、list、deque和map的区别
1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存转载 2014-03-15 19:44:45 · 645 阅读 · 0 评论 -
使用c++模板的优点和缺点
作为C++语言的新组成部分,模板引入了基于通用编程的概念。通用编程是一种无须考虑特定对象的描述和发展算法的方法,因此它与具体数据结构无关。但在决定使用C++模板之前,让我们分析一下使用模板的优缺点。目的:当被问及引入C++模板的目的时,C++的发明者Bjarne Stroustrup告诉我“这是为了支持类型安全、类容器的有效性和算法的通用性”。优势和劣势:使用模板有很多原因原创 2014-03-16 23:50:50 · 12516 阅读 · 1 评论