gpt4 book ai didi

C++ std::shared_ptr 用法和信息

转载 作者:IT老高 更新时间:2023-10-28 22:00:25 27 4
gpt4 key购买 nike

我正在尝试使用 std::shared_ptr在我的代码中。我已经看到关于这个主题还有其他问题,但我仍然遇到编译器错误。我有正确版本的 gcc 和设置吗?

我做了什么:

我曾尝试分别使用两个头文件编译我的代码 — <memory><tr1/memory>但在这两种情况下仍然会出现以下错误。

我使用的gcc版本是

gcc --version
gcc (GCC) 4.3.2

当我包含 <memory> 时我使用的标题 std::shared_ptr<tr1/memory>我使用的标题 std::tr1::shared_ptr ?这是正确的吗?

我已将 shared_ptr 设置如下:

std::shared_ptr<A*> ptr_A = shared_ptr( new A() );

我得到的错误如下:

src/WH.cxx:156: error: 'shared_ptr' is not a member of 'std'
src/WH.cxx:162: error: 'shared_ptr' was not declared in this scope

当我尝试 <tr1/memory>标题

src/WH.cxx:156: error: 'std::tr1' has not been declared
src/WH.cxx:162: error: 'shared_ptr' was not declared in this scope

看起来我没有正确包含某些内容。有什么想法吗?

我知道 boost 库有 shared_ptr但这些库目前不适合我。

编辑:补充一下,我的编译器选项如下:g++ -O3 -g3 -m32 -fPIC -Wno-deprecated -pthread -m32我错过了什么吗?

附:有没有关于 std 智能指针的有用文献?

最佳答案

std::tr1::shared_ptr是对 C++ STL 的 TR1 添加的一部分。
使用 GCC,它可以通过 #include <tr1/memory> 获得。 (GCC 4.1) 或 #include <memory> (GCC 4.3)

关于C++ std::shared_ptr 用法和信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com