将相似类型的成员变量组合在一起

Rob*_*Rob 1 c++

在编写类时,您是否将相同类型的成员变量组合在一起?这样做有什么好处吗?例如:

class Foo
{
private:
    bool a_;
    bool b_;
    int c_;
    int d_;
    std::string e_;
    std::string f_;
    ...
};
Run Code Online (Sandbox Code Playgroud)

相反:

class Bar
{
private:
    std::string e_;    
    bool a_;
    int d_;
    bool b_;
    std::string f_;
    int c_;    
    .
Run Code Online (Sandbox Code Playgroud)

..};

或者你只是按照它们被添加的顺序拥有它们?

Fed*_*oni 12

我根据语义对它们进行分组,即

class Foo
{
private:
    std::string peach;
    bool banana;
    int apple;

    int red;
    std::string green;
    std::string blue;
    ...
};
Run Code Online (Sandbox Code Playgroud)

越可读,越好.


Ala*_*air 8

您应该按照您希望它们初始化的顺序使用它们,因为这是它们将被初始化的顺序,而不管构造函数中的初始化列表如何.并非所有编译器都会警告您不一致.