c++ - 构造一个包含指针的类

标签 c++ class pointers constructor

我有一个存储 16 个 float 组的类。我使用浮点指针将它们存储为数组,因此我必须使用构造函数内的 new 运算符来初始化数组。我的问题是,直接将 16 个 float 的数组定义为类的一部分是否更有效/更好,或者我应该继续让类通过指针存储数据并在构造函数中调用 new ?

最佳答案

在内存管理方面,没有通用的“更好的实践”,因此您应该采取适合您的特定设计的方法。

如果您始终精确分配 16 个 float ,则将数组嵌入类中将减少对动态分配器的调用次数。当对象存储在自动存储器中时这可能会有所帮助,但在某些情况下它可能会有害。例如,如果您在自动存储中创建此类的大型数组,则嵌入数组会增加堆栈溢出的机会。

最好的方法是分析您的内存使用情况和时间安排,并查看分配这些数组是否会导致显着的速度减慢,或者是否会导致内存碎片的产生。如果当前的方案没有给您带来任何麻烦,则没有理由更换它。

关于c++ - 构造一个包含指针的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12557847/

相关文章:

c++ - 计算模式最大值

c++ - gtkmm 的 g_signal_emit 或 g_signal_emit_by_name 版本是什么?

java - 密封类是否在 Java 中强制执行,如果是,如何执行?

c++ - 指针初始化

c - 使用指针将二维数组传递给 C 中的函数

c++ - 在析构函数中删除 (this) 指针

C++11 文件系统 (VS2012)

python - NameError 在 python 中使用 execfile

c++ - 促进类(class)交流c++

C++ vector<vector<double>> 加倍 **