我一直在尽我最大的努力学习 C++,但我之前的培训在一个主要问题上存在不足:内存管理。我的主要语言都具有自动垃圾收集功能,因此从未真正需要跟踪所有内容。我曾尝试在线阅读 C++ 中的内存管理,但我怀疑我仍然遗漏了一些东西。
所以,这是一个多部分的问题:
- 关于内存管理,我需要了解的最低限度是什么? (或者,我在哪里可以找到)?
- 我在哪里可以获得中级和高级知识/教程/等(一旦我完成了基础知识)?
- 指针和引用之间的性能差异是什么?
- 我听说在循环中,您需要确保在任何地方调用
delete
循环重新迭代之前的新指针。这个对吗?您需要对引用做些什么吗? - 有哪些经典的内存泄漏示例?
- 我需要了解以下哪些内容(以及我是否真的需要使用他们——如果是这样,在哪里?):
malloc
free
calloc
realloc
更具体地说:
**************************** 更新 *******************
这是为了解决评论一中对 lmgtfy 的引用(由 Ewan 撰写)。如果您开始阅读那里可用的信息,它对初学者没有用处。我认为这是一个很棒的理论,但它对这个问题既不相关也不有用。
最佳答案
你真的,真的需要读一本好书——坦率地说,没有一本是不可能学习 C++ 的。我推荐Accelerated C++ , 由两位 C++ 创始人 Koenig & Moo 撰写。
关于c++ - 关于 C++ 中的内存,我需要了解什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1907668/