首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与使用std::shared_ptr的此代码等效的内容是什么

与使用std::shared_ptr的此代码等效的内容是什么
EN

Stack Overflow用户
提问于 2021-10-03 15:15:27
回答 1查看 73关注 0票数 0
代码语言:javascript
复制
int main() {
    std::deque<My_Int*> table;

    My_Int* table_entry = new My_Int(2);
    table.push_back (table_entry);

    My_Int** new_obj = &table.front();

    *new_obj = new My_Int(3); 
    
    std::cout << table.front()->data << std::endl; // prints 3 as intended
}

我主要是对带有双指针的线条感到困惑。我如何使用智能指针来复制它呢?谢谢你的帮助。(我知道代码没有做适当的清理)

编辑:只是为了澄清,使用智能指针时的双队列也是shared_pointers的双队列。

EN

回答 1

Stack Overflow用户

发布于 2021-10-03 15:24:20

代码语言:javascript
复制
int main() {

    std::deque<std::shared_ptr<My_Int>> table;

    table.push_back (std::make_shared<My_Int>(2));

    std::shared_ptr<My_Int> &new_obj = table.front();

    new_obj = std::make_shared<My_Int>(3);

    std::cout << table.front()->data << std::endl;
}

这是我从yyyy的答案中得出的解决方案。我从未见过在声明shared_ptr时使用&运算符,但我认为这是有意义的。

如果有人能够阐明&运算符在这种上下文中是如何工作的,我仍然感到有点困惑。谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69426173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档