私有和公共访问修饰符在性能上有所不同吗?

时间:2015-09-01 14:29:57

标签: java c++ class oop member

我认为我们必须在成员变量上使用正确的修饰符来实现模块化,但对类成员的访问修饰符对应用程序性能的影响感到好奇。

如果我的程序很小,那么如果我使用所有成员变量public会怎样?

3 个答案:

答案 0 :(得分:4)

在C ++和Java中,修饰符本身并不会直接影响性能:它在编译阶段会强制执行关注点分离,但编译(对象)代码中没有修饰符的痕迹。但是,使用访问器和增变器函数来引用成员变量在理论上会施加一些轻微的性能损失。即便如此,在C ++中,编译器可以内联这些调用,完全消除惩罚。 @Peter Lawrey在评论中提到类似的优化可用于Java。

因此,使用任何导致更清洁设计的东西,因为任何性能影响都是有争议的。

答案 1 :(得分:0)

在C ++中,访问修饰符对应用程序的性能没有影响,所有这些都与访问/可见性有关。它们只是一个编译时的概念,没有运行时组件或检查。

答案 2 :(得分:0)

它对Java没有任何影响! 有效性是朋友和同事之间的共同谈话,但最终我们都试图以错误的方式最大限度地提高效率...... 有效编码的大多数问题是许多代码行(你不希望看到多少......)和逻辑错误进入不必要的循环(不是最终的循环但是不必要的,但是说...常见的检查器,例如可以通过其他事件调用)

每个人都在你身边! 但你在那里找不到多少东西; p