gpt4 book ai didi

C++、段错误和内存管理

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:30 24 4
gpt4 key购买 nike

我正在从 Java 转向 C++,并且非常喜欢它。我不喜欢的一件事是根本不理解内存,因为 Java 曾经为我做这件事。

我买了一本书:Memory as a Programming Concept in C and C++ - Frantisek Franek

是否有一些好的站点可供我以交互方式学习 C/C++ 和内存使用(教程、论坛、用户组)?

最佳答案

内存管理在 C++ 中几乎是自动的(有一些注意事项)。

大多数时候不要动态分配内存。
使用局部变量(和普通成员变量),它们将自动构造和析构。

当你确实需要指针时使用智能指针。
从使用 boost::shared_pointer 而不是指针开始。
这将使您走上正确的道路,并停止在错误的时间意外删除内存,并且 90% 的代码将正确释放(不幸的是,循环会导致问题(仅在泄漏方面),您将需要进行相应的设计(但我们有其他智能指针来处理循环 weak_ptr))

我的基本规则是类永远不包含 RAW 指针。始终使用某种形式的标准容器或智能指针。使用这些;析构函数调用变得自动。

一旦有了感觉,就可以开始阅读其他智能指针以及何时使用它们:

Smart Pointers: Or who owns you baby?

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

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