优化:使用较少内存的类

时间:2014-07-09 16:02:46

标签: c++ optimization

我有一个C ++类,它具有返回对象的函数:

class MyClass
{
public:
  int m_v1;
  double m_v2;
  ObjA m_obA;
  ObjB m_obB;
  std::string m_s1;

  std::vector< float > foo();

public:
  MyClass();
  ~MyClass();

  int foo2();
  double foo3();
  ObjA foo4();
};

我知道按类型的降序重新组织成员,使用的内存会更小。如果功能成员是相同的,我应该如何组织它的最佳方式?

1 个答案:

答案 0 :(得分:0)

正如@juanchopanza所指出的那样,非虚拟成员函数不会影响对象的大小。

在大多数C ++实现中,FIRST虚方法通过sizeof(指针)增加对象大小。其他方法(虚拟或其他方法)对对象大小没有影响。