C++;,Seg故障和内存管理 我从java到C++,非常喜欢它。我不喜欢的一件事是完全不理解内存,因为Java曾经为我这样做 我买了一本书:作为C和C++编程概念的存储器——Frantisek Franek < /P>

C++;,Seg故障和内存管理 我从java到C++,非常喜欢它。我不喜欢的一件事是完全不理解内存,因为Java曾经为我这样做 我买了一本书:作为C和C++编程概念的存储器——Frantisek Franek < /P>,c++,c,memory-management,C++,C,Memory Management,有没有一些好的网站可以让我去交互式地学习C/C++和内存使用(教程、论坛、用户组) 试试这些: 在维基百科中: 本文将比较java内存管理运算符与C++等价物: 希望这些能帮助你 < P>内存管理在C++中几乎是自动的(有几个注意事项)。 大多数情况下不会动态分配内存。 使用局部变量(和普通成员变量),它们将自动构造和解构 当您确实需要指针时,请使用智能指针。 从使用boost::shared_指针而不是指针开始。 这将使您走上正确的道路,并停止在错误的时间意外删除内存,90%的代码将正

有没有一些好的网站可以让我去交互式地学习C/C++和内存使用(教程、论坛、用户组)

试试这些:

在维基百科中:

本文将比较java内存管理运算符与C++等价物:


希望这些能帮助你

< P>内存管理在C++中几乎是自动的(有几个注意事项)。 大多数情况下不会动态分配内存。
使用局部变量(和普通成员变量),它们将自动构造和解构

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

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

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


这篇文章有很多有用的信息:哇。从java到C++,享受它。我印象深刻。嗯,你把重点放在正确的事情上,因为理解资源管理对于成为一个合格的C++开发人员来说是绝对重要的。我可能应该提到,我这样做是为了教育,而不是为了工作。我想如果我的老板要我突然在C++写一个应用程序,它会比娱乐更令人沮丧。我认为“着迷”是你要找的词,而不是“享受”。很好的列表。我可以补充一下:很棒的链接。多谢各位+1,特别是对于“大多数情况下,不要动态分配内存”。@Martin-出于真正的兴趣:到处使用
shared\u ptr
不是有点慢吗?你会推荐它,比如说,用于模拟或视频游戏吗?是什么让你觉得它很慢?但不,我不推荐在任何地方使用它。我建议将其作为学习智能指针的起点。使用正确的智能指针解决手头的问题(但是你必须从哪里开始,智能指针是一个相当大的话题)。另外,我对模拟器中的智能指针没有任何问题(正确性是王道,在你证明它是瓶颈后进行优化)。