我需要为图像处理创建非常大的RGB值数组。将在它们上执行的实际操作是简单的 - 正交投影,以查看两种颜色有多相似 - 但每个位都与内存有关。我正在考虑将图像存储为带有3个字符的结构的双指针,我认为这是最有效的内存方式,但我知道通常建议使用包装类。问题是创建类与结构和使用某种包装与使用双指针的内存开销是多么微不足道。
答案 0 :(得分:1)
之间完全没有区别
class X
{
public:
T1 x;
T2 y;
T3 z;
}
和
struct X
{
T1 x;
T2 y;
T3 z;
};
如果您向该类添加虚拟功能,是的,它将添加到存储中。但是,class
和struct
之间没有其他任何区别(实际上,struct
中也可能有虚拟成员 - 尽管区分struct
和class
通过只为类提供成员函数和(非平凡)构造函数。)