类与结构的C++效率

在 C++ 中,我试图决定是否使用结构或类。到目前为止,我知道两者或多或少是相同的,但是当需要私有变量或对执行操作的对象的概念进行分组时,更经常使用类。

但我想知道的是:在类中包含函数是否会增加内存需求(而不是具有结构,函数是分开的)?

这是一个例子

class Vector2D {
    public:
        int x;
        int y;
        Vector2D();
        getMagnitude();
        Normalize();
}

对比

struct Vector2D {
    int x;
    int y;
}

// Some functions defined separately
getMagnitude(Vector2D v);
Normalize(Vector2D v);

如果我有一堆其他向量函数,比如说,将它们中的两个加在一起,我有一个向量类,如果将它们包含在类中会更好,所以你有一个像 addToVector(Vector2D v2) 这样的函数或保留类之外的这些多向量函数,以便您有一个 addToVector(Vector2D v, Vector2D v2)?

我知道第二个问题可能倾向于意见,但如果有“最佳实践”定义的方式,我想知道。

谢谢

回答

类与结构的 C++ 效率

结构就是类。两者之间的效率为零。

在类中包含函数是否会增加内存需求(与结构不同,函数分开)?

不。成员函数和非成员函数的“内存要求”之间没有实际区别。

此外,结构可以具有成员函数。所有的类都可以有成员函数,结构就是类。


以上是类与结构的C++效率的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>