在类成员函数中使用作用域枚举的最佳实践

问题描述 投票:0回答:1

我专注于保持良好的代码风格。与在类中使用

this->
类似,在类内枚举前面添加类名是否更好?

具体来说,这是一个例子:

class Car {
public:
    enum class Color {
        Red,
        Green,
        Blue
    };

    // Member function that returns Car::Color type
    Car::Color getColor() const {
        return Car::Color::Red;  // Returning a constant enum value
    }
};

在此示例中,我有一个返回

Car::Color
枚举类类型的成员函数。我的问题是:在类内部定义成员函数时,仅使用
Color
是否被认为是更好的做法,因为它已经在类范围内,或者我应该显式使用
Car::Color

换句话说,函数定义应该是:

Color getColor() const {  // Just Color
    return Color::Red;
}

Car::Color getColor() const {  // Explicitly using Car::Color
    return Car::Color::Red;
}

哪种方法通常被认为是更好的实践(例如在大型项目中)?

c++ class c++11 enums
1个回答
1
投票

这两者的工作方式完全相同,并且取决于程序员,我个人会使用 Car::color 因为它使其更具可读性,并表示它是汽车的颜色。

© www.soinside.com 2019 - 2024. All rights reserved.