gpt4 book ai didi

c++ - 类设计: arrays vs multiple variables

转载 作者:可可西里 更新时间:2023-11-01 15:40:15 26 4
gpt4 key购买 nike

我有一些理论问题,但这是我在设计类时有时会遇到的问题,而且我在阅读其他代码时发现它的做法有所不同。以下哪项会更好,为什么:

示例 1:

class Color
{
public:
Color(float, float, float);
~Color();

friend bool operator==(Color& lhs, Color& rhs);
void multiply(Color);
// ...
float get_r();
float get_g();
float get_b();

private:
float color_values[3];
}

示例 2:

class Color
{
public:
// as above

private:
float r;
float g;
float b;
}

在这种情况下是否应该遵循一般规则,还是仅取决于程序员,什么似乎更有意义?

最佳答案

两者都有!

使用这个:

class Color {

// ...

private:

union {
struct {
float r, g, b;
};
float c[3];
};

};

然后 c[0] 将等同于 r,等等。

关于c++ - 类设计: arrays vs multiple variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11332146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com