码迷,mamicode.com
首页 >  
搜索关键字:智能指针    ( 834个结果
《STL源码剖析》相关面试题总结
一、STL简介 STL提供六大组件,彼此可以组合套用: 二、关于容器的一些问题 2.1 当vector的内存用完了,它是如何动态扩展内存的?它是怎么释放内存的?用clear可以释放掉内存吗?是不是线程安全的? 2.2 map是怎么实现的?查找的复杂度是多少?能不能边遍历边插入? 红黑树和散列 O(l ...
分类:其他好文   时间:2018-11-06 22:23:06    阅读次数:196
smart_ptr之shared_ptr
c++11标准和boost都提供了智能指针的功能。智能指针是普通指针的封装,智能指针是一个对象,对象里面包含了原生指针。可以使用智能指针对象的get()方法可获得封装在里面的原生指针。使用智能指针管理内存,用到智能指针的地方需要统一使用c++11或boost库,切忌混合使用。c++11的智能指针包含 ...
分类:其他好文   时间:2018-10-30 14:48:03    阅读次数:123
C++智能指针
头文件:#inlcude<memory> 智能指针类型: auto_ptr (C++98)弃用 shared_ptr, unique_ptr ,weak_ptr (C++11) 指针的初始化函数:make_shared(C++11),make_unique (C++14),返回bool 以上均位于n ...
分类:编程语言   时间:2018-10-29 02:01:16    阅读次数:293
C++智能指针: auto_ptr, shared_ptr, unique_ptr, weak_ptr
本文参考 "C++智能指针简单剖析" 内存泄露 我们知道一个对象(变量)的生命周期结束的时候, 会自动释放掉其占用的内存(例如局部变量在包含它的第一个括号结束的时候自动释放掉内存) 这样会编译错误. 但是如果这样写呢? 程序结束的时候会自动释放 的内存, 但是由 算符创建的匿名变量却一直留在内存中, ...
分类:编程语言   时间:2018-10-22 20:49:54    阅读次数:155
智能指针实现
原来的内存管理代码 int main(){ int *ptr = new(nothrow) int(0); //关闭异常 if(!ptr) { cout << "new fails." return 0; } if(!check()) ///有校验 ,抛出异常,每次都得管理内存 { delete p ...
分类:其他好文   时间:2018-10-20 15:01:06    阅读次数:208
C++11智能指针和引用
最近在学习课程的时候发现一个很困惑的问题,上代码classDataHeader;classLoginResult:publicDataHeader;typedefstd::shared_ptr<DataHeader>DataHeaerPtr;//原型voidaddSendTask(ClientSocketPtr&pClient,DataHeaderPtr&header)
分类:编程语言   时间:2018-10-15 18:25:53    阅读次数:172
C++11之智能指针
1、关于智能指针的理解 1)智能指针是使用RAII技术(资源的获取即初始化)对普通指针进行封装得到的,其实质是一个指针,使用起来像指针。 2)智能指针可以用来解决程序员忘记使用delete释放内存从而导致内存泄漏,或者多次释放同一块内存,以及当程序出现异常时进入catch块中导致内存忘记释放。 3) ...
分类:编程语言   时间:2018-10-14 01:53:01    阅读次数:151
再论智能指针(上)
0.引言: 目的:使用智能指针替代LinkList中的原生的指针, 限制:但是我们的智能指针设定了只能单个指针指向某一片堆空间 1. 智能指针的继承层次结构 (1)Pointer是智能指针的抽象父类(模板) ①纯虚析构函数:virtual ~Pointer()=0; ②重载operator->() ...
分类:其他好文   时间:2018-10-09 20:03:48    阅读次数:144
C++智能指针总结
本文介绍c++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被c++11弃用。 为什么要使用智能指针:我们知道c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delet ...
分类:编程语言   时间:2018-10-04 10:23:51    阅读次数:213
C++ 智能指针shared_ptr的实现
#include #include using namespace std; template class smart{ private: T* _ptr; int* _count; //reference counting public: //构造函数 smart(T* ptr = nullptr... ...
分类:编程语言   时间:2018-10-04 08:51:04    阅读次数:174
834条   上一页 1 ... 12 13 14 15 16 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!