繁体   English   中英

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

[英]C++ Object vs Struct Memory Overhead

我需要为图像处理创建非常大的RGB值数组。 对它们执行的实际操作很简单-只需正交投影即可看到两种颜色的相似程度-但每一位都取决于内存。 我正在考虑将图像作为指向其中包含3个字符的结构的双指针来存储,我认为这是最有效的内存存储方式,但是我知道通常建议使用包装器类。 问题在于,创建类与结构以及使用某种包装器与使用双指针相比,内存开销是多么微不足道。

两者之间绝对没有区别

class X
{
  public: 
     T1 x;
     T2 y;
     T3 z;
}

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

如果您将虚拟函数添加到类中,是的,它将添加到存储中。 但没有人会做任何区别classstruct (事实上,它有可能在虚拟的成员struct太-虽然它是典型的区分structclass由于只需对类成员函数和(非平凡)构造函数) 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM