除了可访问性,还有什么访问说明符效果?

7 c++ inheritance private protected public

除了对派生类可见或不可见的正常表达外,还有其他区别吗?

如果你让它更明显,它是否会占用更多或更少的记忆,它会减慢速度还是......?

Naw*_*waz 6

除了外部成员或派生类的可访问性之外,访问说明符可能会影响对象布局.

引用我的另一个答案:

通常,数据成员的内存地址按照它们在类中定义的顺序增加.但是这个命令可以在那里的访问修饰符(任何地方被打乱private,protected,public)遇到.这已经很详细的讨论里面的C++对象模型李普曼.

来自C/C++ Users Journal的摘录,

但是,编译器本身不允许进行这种重新排列.该标准要求编译器必须按顺序排列同一 public:,protected:或private:中的所有数据.但是,如果您使用访问说明符散布数据,则允许编译器重新排列访问说明符分隔的数据块以改进布局,这就是为什么有些人喜欢在每个数据成员之前放置访问说明符.

有意思,不是吗?