C ++对象与结构内存开销

时间:2015-12-09 23:38:33

标签: c++ arrays memory struct

我需要为图像处理创建非常大的RGB值数组。将在它们上执行的实际操作是简单的 - 正交投影,以查看两种颜色有多相似 - 但每个位都与内存有关。我正在考虑将图像存储为带有3个字符的结构的双指针,我认为这是最有效的内存方式,但我知道通常建议使用包装类。问题是创建类与结构和使用某种包装与使用双指针的内存开销是多么微不足道。

1 个答案:

答案 0 :(得分:1)

之间完全没有区别
class X
{
  public: 
     T1 x;
     T2 y;
     T3 z;
}

struct X
{
     T1 x;
     T2 y;
     T3 z;
};

如果您向该类添加虚拟功能,是的,它将添加到存储中。但是,classstruct之间没有其他任何区别(实际上,struct中也可能有虚拟成员 - 尽管区分structclass通过只为类提供成员函数和(非平凡)构造函数。)

相关问题