Memory 是否将此更改为使用自动\u ptr? 我一直在阅读C++ AutoPPTR和UNQuYJPTR,并想在我正在玩的一个类中尝试使用它们。但我很难让它工作
如何将这些指针转换为自动指针或类似的指针,以便自动处理指针的删除 标题- 主体- 目前,它正在使用普通指针工作,但有时会出现访问冲突错误。我很确定我知道是什么引起的。。但是“最好”的方法可能是使用最近添加到c++11中的自动删除功能Memory 是否将此更改为使用自动\u ptr? 我一直在阅读C++ AutoPPTR和UNQuYJPTR,并想在我正在玩的一个类中尝试使用它们。但我很难让它工作,memory,auto-ptr,Memory,Auto Ptr,如何将这些指针转换为自动指针或类似的指针,以便自动处理指针的删除 标题- 主体- 目前,它正在使用普通指针工作,但有时会出现访问冲突错误。我很确定我知道是什么引起的。。但是“最好”的方法可能是使用最近添加到c++11中的自动删除功能 提前感谢。不要使用auto\u ptr。请尝试唯一\u ptr或共享\u ptr中的一种。Sutter解释了何时使用: 如果有疑问,默认情况下首选unique_ptr,如果需要,您可以随时将convert移至shared_ptr。但是,如果您从一开始就知道您需要共享
提前感谢。不要使用
auto\u ptr
。请尝试唯一\u ptr
或共享\u ptr
中的一种。Sutter解释了何时使用:
如果有疑问,默认情况下首选unique_ptr,如果需要,您可以随时将convert移至shared_ptr。但是,如果您从一开始就知道您需要共享所有权,请通过make#u shared(请参阅下面的第2页)直接转到shared#ptr
在他的博客中:
3。auto_ptr有什么用?
auto_ptr被最仁慈地描述为一种勇敢的尝试
在C++移动语义之前创建一个UNIQuyPPTR。
auto_ptr现在已弃用,不应在新代码中使用。什么时候
如果有机会,尝试进行全局搜索并替换auto_ptr以
代码库中唯一的\u ptr;绝大多数的使用都会起作用
同样,它可能会公开(作为编译时错误)或修复(以静默方式)
你不知道自己有一两个虫子
因此,您的成员声明更改为:
sf::Texture * tSpriteSheet;
致:
std::unique_ptr tSpriteSheet;
对于返回原始指针的成员函数,您有一个明显的选择:如果类不可移动,则不能返回unique\u ptr
。因此,您可以:
- 保留签名
- 返回一个
const&unique\u ptr
- 返回对对象的引用
选择最适合您需要的。不要使用
auto\u ptr
。请尝试唯一\u ptr
或共享\u ptr
中的一种。Sutter解释了何时使用:
如果有疑问,默认情况下首选unique_ptr,如果需要,您可以随时将convert移至shared_ptr。但是,如果您从一开始就知道您需要共享所有权,请通过make#u shared(请参阅下面的第2页)直接转到shared#ptr
在他的博客中:
3。auto_ptr有什么用?
auto_ptr被最仁慈地描述为一种勇敢的尝试
在C++移动语义之前创建一个UNIQuyPPTR。
auto_ptr现在已弃用,不应在新代码中使用。什么时候
如果有机会,尝试进行全局搜索并替换auto_ptr以
代码库中唯一的\u ptr;绝大多数的使用都会起作用
同样,它可能会公开(作为编译时错误)或修复(以静默方式)
你不知道自己有一两个虫子
因此,您的成员声明更改为:
sf::Texture * tSpriteSheet;
致:
std::unique_ptr tSpriteSheet;
对于返回原始指针的成员函数,您有一个明显的选择:如果类不可移动,则不能返回unique\u ptr
。因此,您可以:
- 保留签名
- 返回一个
const&unique\u ptr
- 返回对对象的引用