在C++中声明可见性/访问权限的方法有何不同

How do the ways to declare visibility/access in C++ differ?

本文关键字:权限 方法 何不同 访问权 访问 C++ 声明 可见性      更新时间:2023-10-16
这可能是

一个愚蠢的问题,但是在效率、优化等方面,如何在C++类中声明访问权限方面有什么区别吗?

作为一个具体的例子,是声明类中每个属性/方法的可见性与在类中声明可见性(即私有/公共/受保护)"块"相比,效率更高、效率更低。

例如,是以下代码:

class Foo{
  private:
    int member1;
    string member2;
    ...
    Thing memberN;
  public:
    int member2;
    Thing member3;
    ...
    string memberM;
}

比以下方法更有效:

class Foo{
  private:
    int member1;
  private:
    string member2;
  private:
    ...
  private:
    Thing memberN;
  public:
    int member2;
  public:
    Thing member3;
  public:
    ...
  public:
    string memberM;

}

>是一样的。访问修饰符用于编译器,并产生相同的输出二进制代码。