gpt4 book ai didi

C++ 内存管理

转载 作者:IT王子 更新时间:2023-10-28 23:35:02 25 4
gpt4 key购买 nike

我在大学里了解到,你总是必须释放你未使用的对象,而不是你实际上是如何做的。例如,正确地构建您的代码等等。是否有关于如何在 C++ 中处理指针的一般规则?

我目前不允许使用 boost。我必须坚持使用纯 C++,因为我使用的框架禁止使用任何泛型。

最佳答案

我使用过嵌入式 Symbian 操作系统,它为此配备了一个出色的系统,完全基于开发人员约定。

  1. 只有一个对象会拥有一个指针。默认情况下,这是创建者。
  2. 所有权可以转让。为了指示所有权的传递,对象在方法签名中作为指针传递(例如 void Foo(Bar *zonk);)。
  3. 所有者将决定何时删除该对象。
  4. 要将对象传递给仅用于使用的方法,该对象将作为方法签名中的引用传递(例如 void Foo(Bat &zonk);)。
  5. 非所有者类可以存储对对象的引用(绝不是指针),只有当它们可以确定所有者在使用过程中不会破坏它时,才能存储它们。

基本上,如果一个类只是使用某些东西,它就会使用一个引用。如果一个类拥有某些东西,它会使用一个指针。

这很好用,使用起来很愉快。内存问题非常罕见。

关于C++ 内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27492/

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