STL
peng864534630
这个作者很懒,什么都没留下…
展开
-
智能指针 auto_ptr, unque_ptr, shared_ptr, weak_ptr
参考:http://www.jellythink.com/archives/684http://www.cnblogs.com/lanxuezaipiao/p/4132096.html1、什么是智能指针?C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引原创 2017-09-05 17:28:06 · 446 阅读 · 0 评论 -
shared_ptr智能指针源码剖析
转载 2017-09-11 14:07:07 · 328 阅读 · 0 评论 -
shared_ptr原理分析及实现
原理分析内存管理历来是C++编程的一项需要小心费力气的活,因为C++本身不带GC机制,所有的内存管理都需要我们手动实现,从malloc / free 到new / delete,再到allocator的出现,无非都是为了更合理简单的避免内存泄露。指针本身是一个用法十分灵活并且功能强大的工具,然而它对内存的直接掌控也使得它不得不常常背起内存泄露的黑锅,因为忘记删除指针或者将一个指针删除两次的原创 2017-09-11 14:09:19 · 8864 阅读 · 2 评论 -
STL 中map中find和map[]
转自:http://blog.csdn.net/qqwx_1986/article/details/4970574std::map不是顺序容器,这应该都知道的,map中重载了operator []操作符,可以用map的键值索引到相关的数据,但是这个[]和一般数组的[]可不一样。有的人又认为既然[]就是利用下标做索引和std::map中的find用键值索引是不是一样的,所以有的会写出下面类似的代转载 2017-09-11 19:31:08 · 4196 阅读 · 0 评论 -
STL中string中c_str(),data(),copy()
标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。1. c_str():生成一个const char*指针,指向以空字符终止的数组。注:①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。因此要么现用先转换,要么把它的数据复制到用户自己可以管理的内存中。注意。原创 2017-07-06 10:38:26 · 831 阅读 · 0 评论 -
STL 中容器
在STL中基本容器有: vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历起来效果也原创 2017-07-19 16:01:09 · 255 阅读 · 0 评论 -
C++中的string类
C++中的string类相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使原创 2017-10-09 17:14:25 · 232 阅读 · 0 评论