当前位置:  开发笔记 > 编程语言 > 正文

C++内存管理

如何解决《C++内存管理》经验,为你挑选了2个好方法。

我在大学里学到,你总是要释放你未使用过的物品,而不是你实际上是如何做到的.例如,正确构建代码等等.关于如何在C++中处理指针有什么一般规则吗?

我目前不允许使用提升.我必须坚持使用纯c ++,因为我使用的框架禁止使用泛型.



1> Sander..:

我使用嵌入式Symbian操作系统,它有一个完美的系统,完全基于开发人员惯例.

    只有一个对象拥有指针.默认情况下,这是创建者.

    所有权可以传递.为了表明所有权的传递,该对象作为方法签名中的指针传递(例如void Foo(Bar*zonk);).

    所有者将决定何时删除该对象.

    要将对象传递给仅供使用的方法,该对象将作为方法签名中的引用传递(例如void Foo(Bat&zonk);).

    非所有者类可以存储对它们所给对象的引用(从不指针),只有当它们可以确定所有者在使用期间不会销毁它时.

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

这很好用,很愉快.记忆问题非常罕见.



2> Josh..:

规则:

    尽可能使用 智能指针.Boost有一些 好的.

    如果您不能使用智能指针,请在删除指针后将其清空.

    永远不要在任何不允许您使用规则1的地方工作.

如果有人不允许遵守规则1,请记住,如果您抓住其他人的代码,更改变量名称并删除版权声明,任何人都不会注意到.除非是学校项目,否则他们会用相当复杂的工具检查那种恶作剧.另见这个问题.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有