指针随时间的改进/变化
improvements/changes in pointers with time?
也许,指针一直在修改auto_ptr到unique_ptr和shared_ptr 的常规指针
我只是想知道,已经开发的新型指针完全超过了旧版本(或者你可能认为存在内存泄漏问题的指针版本)
我不认为常规指针是死的,但最近我遇到了auto-ptr,然后我对添加到C++ox中的shared_ptr和unique_ptr有了一些了解。我不能使用它们(shared_ptr和unique_ptr),因为我正在使用visual C++2008。
auto_ptr是否完全被unique_ptr和shared_ptr接管?
请提供一些见解。
如果您不拥有原始指针所指向的对象,则原始指针仍然很有用。auto_ptr
已被正式弃用(因此,对于新代码来说,它几乎已经过时了)。VS2008提供shared_ptr
作为TR1的一部分,并且总是有Boost。我现在认为在我的C++生活中不需要任何其他的智能指针。
Qt提供了QSharedDataPointer,它有助于提供写时复制功能。它具有侵入性,因为它只接受从QSharedData
派生的类型,而不接受任何任意数据。我自己的实用程序对象的个人库包括一个deep_ptr
类型,它带有一个复制构造函数,可以复制其存储的数据,而不仅仅是对指针进行混叠。它被专门用作实现Pimpls的一种方式,这样我就不必为实现Big 3而烦恼,但仍然可以开箱即用地获得值语义。
但实际上,shared_ptr
、weak_ptr
和unique_ptr
确实提供了几乎所有需要的功能。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- C++取消引用指针.为什么会发生变化
- 在已经使用Git的情况下减少编译时间
- 为什么在读取文件大小时文件IO速度会发生变化
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 从文本文件中读取时钟时间和事件时间并进行处理
- 具有未知值时的时间复杂性
- 如何减少花费的时间
- C++在变量给定的指定时间内关闭电脑
- 相同的时间复杂,但运行时间变化很大
- 在C 中创建时间变化的信号
- 检测用户在窗口时间的变化
- 多线程变化需要更长的时间
- 防止.exe的时间戳发生变化