77问答网
所有问题
当前搜索:
智能指针什么时候不能用
ATL的
智能指针
CComQIPtr 在MFC中
使用
要注意
什么
?
答:
并且有时是非常方便的. 所以在使用智能指针时有以下建议: 1. 当对象的生命周期很长要小心使用. 2.
当对象的生命周期不确定时不要使用.
3. 千万不要使用全局的智能指针.
C++
智能指针
的几种用法
答:
需要多个
指针
指向一个对象时可
使用
shared_ptr,如指针数组。不需要多个指针指向一个对象可使用uniq_ptr,uniqu_ptr比auto_ptr更加安全(编译报错远比程序崩溃好得多)。
c++
智能指针
用法
答:
举例:当我们写一个new语句时,一般会立即把delete语句也直接写入,但是
不能
避免程序还未执行到delete时就跳转或在函数没有执行到最后的delete语句就返回了,如果不在每一个可能跳转或返回的语句前释放资源,就会造成内存泄露,
使用智能指针
可以很大程度避免这个问题。 auto_ptr的类模板原型为:编译运行结...
c++中关于
智能指针
std::tr1::shared_ptr的用法
答:
智能指针
本身绝对
不能
是动态分配的内存,不然只能指针就没有存在的意义了。智能指针有个数据成员,是个指针,至于
什么
类型,看你类模板怎么实现。这个指针才是动态分配内存的。只能本身必须是栈里分配内存。利用栈的自动回收数据的特性,在被系统西东回收时,调用智能指针类的析构函数,从而释放智能指针内部...
C++中
什么时候用指针
,什么时候用引用
答:
因此,
C++来说最好不要用指针使用引用
。但是有迫不得已的时候比如在类中定义一个指向成员变量的指针,在函数中进行动态申请的情况,这个时候智能使用指针,或者一些智能指针什么的。所以具体情况具体分析,没有什么绝对。建议尽可能少,因为每一个指针的存在,都可能需要内存管理和释放。
多线程共用同一
指针
问题
答:
可以共用同一指针。但必须要有互斥,即临界值。这样,当一个线程写入时,另一线程可以等待。否则会出现内存
不能
访问或数据错误的情况。
智能指针
也是同一指针,只是在调用时,智能封装了指针,当一个线程调用资源时,一个计数变量会自动+1,当Release时,会-1,当为0时,会清除此指针对象。这样就可避免...
c++
智能指针
有哪些
答:
1.scoped_ptr:这是最常用的
智能指针
,当你new一块内存后,把内存地址交给scoped_ptr管理,这样就
不用
显式调用delete了,当离开作用于后,该内存会被自动释放,如 int* p = new int;scoped_ptr<int> scoped_int_ptr(p);注意:无须再delete p;这样会double free。另外一个重要的点是:scoped_...
什么
是
智能指针
,说说三种智能指针简单用法
答:
当有几个对象 共同用一个资源时,则它们同时指向了这个资源,如果用普通的指针,则在其中一个对象析构时就会将这个共用的资源销毁,有了
智能指针
就
不用
担心,它里面有对象计数,代表有几个对象在用它,销毁一个就减1,直到为0,为0时就表示没有对象用这个资源了,就会自动释放资源存储区!还有很多...
android 的对象是
指针
吗
答:
时候
该对这个对象的引用计数减1,一来是不方便开发,二来是不可靠,一不小心哪里多加了一个1或者多减了一个1,就会造成灾难性的后果。5、智能指针是一个对象,不过这个对象代表的是另外一个真实
使用
的对象,当智能指针指向实际对象的时候,就是智能指针对象创建的时候,当
智能指针不
再指向实际对象的...
为
什么智能指针
赋值成null后
不能用
if判空
答:
定义
指针时
直接赋值为NULL,而每次
使用指针
前都用if判断一下是否为NULL。指针被赋值为NULL的意义在于,将NULL作为唯一无效指针的标志,明确规定指针值要么为NULL要么为其他有效地址,方便后续代码判断该指针的有效性,以便代码不会访问无效地址。NULL其地址值为0,而由于任何进程的0地址开始存储的都是系统关键...
1
2
3
4
涓嬩竴椤
其他人还搜
什么时候用指针 什么时候用引用
万能指针能表示智能指针吗
什么时候要用指针调用
指向智能指针的指针
什么时候必须用指针
什么时候使用指针
智能指针和普通指针
普通指针转智能指针
智能指针的使用