gpt4 book ai didi

c++ - C++ 中的原始指针

转载 作者:行者123 更新时间:2023-11-28 01:09:29 25 4
gpt4 key购买 nike

我有一段 C++ 类,我有指向对象的原始指针。指向对象的指针将传递给函数。问题是底层函数有时可能需要将指针存储在 STL 容器中,稍后将在其中使用指向对象的指针。如果我不使用 shared_ptr,我正在考虑向类添加一个 bool 标志,指示函数的调用者是否负责删除对象内存。这样可以吗?

谢谢。

最佳答案

凌乱。并且充斥着许多潜在的错误,这些错误会让您在周六午夜之后一直工作。

对资源所有权保持清晰和一致。 vector 拥有指针,或者某些特定函数拥有指针,或者智能指针拥有指针。这些语义的任何混合都会导致您在深夜撕毁头发。

最好的解决方案通常是使用引用计数智能指针。 (您可能已经非常了解,您不能使用 std::auto_ptr)除此之外,创建一个其唯一目的是分配、释放和授予对包含的 vector 的访问权限的类指针。任何需要包含对象的函数都将通过您的管理器类来访问它们。

关于c++ - C++ 中的原始指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4141274/

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