我写了一些代码c ++
public class SomeClass
{
private:
int m_CurrentStatus;
int m_PreviouseStatus;
public:
int get_CurrentStatus() { return m_CurrentStatus; }
int get_PreviouseStatus() { return m_PreviouseStatus; }
}
Run Code Online (Sandbox Code Playgroud)
在c#风格
public class SomeClass
{
private: int m_CurrentStatus;
private: int m_PreviouseStatus;
public: int get_CurrentStatus() { return m_CurrentStatus; }
public: int get_PreviouseStatus() { return m_PreviouseStatus; }
}
Run Code Online (Sandbox Code Playgroud)
在每个成员之前这样的用法访问说明符是可以接受的吗?或者麻烦编译器花费更多时间进行编译或其他效果?代码编译成功,没有警告.
你所描述的是合法的C++。
对编译时间的影响取决于编译器。然而,实际上,您可能很难检测到编译时间的任何差异。
代码可读性可能会受到影响,也可能会带来好处——即人类理解正在发生的事情的能力。一般来说,人们非常喜欢“部分”(例如,在单个访问修饰符(public、private或protected)之后声明多个成员),只要这些部分不会变得太大(例如,在编辑代码时填充超过一个屏幕) )。因此,您这样做可能会不受其他开发人员欢迎。但这是非常主观的——不同的人会有不同的偏好。但是,如果您发现其他人反对您的方法,请听取他们的意见 - 除非您很高兴不受其他团队成员的欢迎,失业等。
可能会也可能不会影响类中数据成员的布局。不同版本的 C++ 标准做出不同的保证,但编译器有相当大的自由度以不同的方式布局类。如果您正在编写依赖(或测试)特定类布局(数据成员的顺序、偏移量等)的代码,您可能会观察到差异。或者你可能不会。然而,无论如何,这些东西在实现(编译器)之间是允许变化的,因此编写依赖于特定布局的代码通常是一个坏主意。