来自 Java 和 C#,我习惯于执行以下操作:
byte[] myArray = new byte[10];
并且不在乎必须清理它。但是,现在我使用的是 C++,显然您必须小心分配和内存泄漏。
我听说有些人说你应该不惜一切代价避免动态分配,但我也看到有些人“自由地”使用它,new
当本地堆栈变量就足够了时,使用运算符来实例化类:
DatabaseConnection conn = new DatabaseConnection("127.0.0.1");
// or
DatabaseConnection conn("127.0.0.1");
我知道在堆上分配的数组要慢得多,但我更喜欢更具可读性和可扩展性的代码,而不是由于使用动态内存而可能发生的小幅性能损失。
所以,我的问题是:你真的应该不惜一切代价避免堆分配吗?