社区
工具平台和程序库
帖子详情
智能指针是怎么一回事...
zjlgigi
2005-02-21 09:36:21
rt,好像很复杂
...全文
637
27
打赏
收藏
智能指针是怎么一回事...
rt,好像很复杂
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RedH
2005-03-03
打赏
举报
回复
就是能在建立时自动初始化,在析构时自动释放所指的内存。是一个包装类,看看<<inside ATL>>前几章有例子。
Wolf0403
2005-02-28
打赏
举报
回复
……汗,当我没说。
Wolf0403
2005-02-28
打赏
举报
回复
回复人: zjlgigi(外星人) ( ) 信誉:100 2005-02-25 16:09:00 得分: 0
听人说好像"智能指针"也有其不完善的地方,
比如在构造函数调用的时候出现异常就不能回收内存 , 是不是 ?
任何类的析构函数都是不能抛出异常的,否则必然产生错误。
Wolf0403
2005-02-28
打赏
举报
回复
最简单的:一个重载了 operator->,部分模拟指针行为的类。
cnepine
2005-02-26
打赏
举报
回复
就是一个类,模拟普通指针的绝大部分功能,其智能的一点就是,如果这个指针被销毁,而它所引用的内存,被其他的智能指针引用,那么它也同时释放那块内存,这样避免了忘记释放内存的情况。
最关键的内存是否泄露,还要看你是不是正确使用了它。
这样你以后的编程就可以放心的使用指针了。
melonliu
2005-02-25
打赏
举报
回复
不知道auto_ptr有多智能,没有用过
Jinhao
2005-02-25
打赏
举报
回复
不会呀,这个可以得到控制的
zjlgigi
2005-02-25
打赏
举报
回复
听人说好像"智能指针"也有其不完善的地方,
比如在构造函数调用的时候出现异常就不能回收内存 , 是不是 ?
sharkhuang
2005-02-23
打赏
举报
回复
堆指针栈化
roy
2005-02-22
打赏
举报
回复
简单的说:
用 NEW 后 不用DELETE了
用法略
yingle2000
2005-02-22
打赏
举报
回复
至于不能使用“++”操作符,那是因为智能指针只允许指向一个对象,而不允许指向一个数组。因为智能指针析构的时候只会调用“delete”操作,而不会调用“delete[]”操作。
如果要使用数组,可以使用动态数组,STL和boost都有提供。
shinull
2005-02-21
打赏
举报
回复
所谓的智能指针(Smart Pointer),按照More Effective C++所述,是行为类似指针(但动作更多)的对象。功能很强大,详细的内容可参考More Effective C++的P47,条款26、28等。具体的参考实现代码在书的附录auto_ptr实现代码
idau7
2005-02-21
打赏
举报
回复
鸡丁说了哦~
Jinhao
2005-02-21
打赏
举报
回复
就是一个类,模拟普通指针的绝大部分功能,其智能的一点就是,如果这个指针被销毁,而它所引用的内存,被其他的智能指针引用,那么它也同时释放那块内存,这样避免了忘记释放内存的情况。
最关键的内存是否泄露,还要看你是不是正确使用了它。
C4_322
2005-02-21
打赏
举报
回复
应该不止有类似“GC”功能吧,还可以指针重定向吧!
zjlgigi
2005-02-21
打赏
举报
回复
那就一定能实现 "内存回收" 了吗 ?
xiyi168
2005-02-21
打赏
举报
回复
一个包装类,同上 :)
晨星
2005-02-21
打赏
举报
回复
不复杂,就是个类,析构时可以自动删除指针。
你自己也可以写一个。
kobefly
2005-02-21
打赏
举报
回复
没用过
ryth
2005-02-21
打赏
举报
回复
就是auto_ptr不用DELETE,很方便,但不是任何情况下都好用.
加载更多回复(7)
C++ 11 14 17 20内存管理-指针、
智能指针
和内存池
课程简介 C++ 11 14 17 20内存管理-指针、
智能指针
和内存池从基础到实战 学习计划 1. 每天学习一小时以上 2. 跟着视频动手编写代码 3. 调试代码并对比课程多提供的源码 课程目标 1. 理解指针...
非常经典的C++ 引用计数技术及
智能指针
的简单实现
阅读目录 1.
智能指针
是什么2.普通指针存在的问题3....5.
智能指针
类的改进一6.
智能指针
改进二 正文 阅读目录 1.
智能指针
是什么2.普通指针存在的问题3.什么是引用计数4.
智能指针
实现 4.1.基础对象类4.
C++——
智能指针
智能指针
是代理模式的具体应用,它使用RAII技术代理了裸指针,能够自动释放内存,无需程序员干预。如果指针是“独占”使用,就应该选择unique_ptr,它为裸指针添加了很多限制,更加安全。如果指针是“共享”使用,就...
c++11之
智能指针
一,什么是
智能指针
在C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用
智能指针
(smart pointer)。
智能指针
是存储指向动态分配(堆)对象指针的类,用于...
C++ 裸指针和
智能指针
C++ 裸指针和
智能指针
裸指针的...还是已经析构掉了多个指针指向同一块内存释放导致的失效指针的问题
智能指针
的优势不带引用计数的
智能指针
auto_ptr 裸指针的缺陷及实例演示 忘记释放指针指向的资源 class Menory ...
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章