【发布时间】:2011-03-09 14:11:47
【问题描述】:
我在学校“学习”了 C++,但有几件事我不知道,比如编译器可以优化的地方或内容,似乎我已经知道 inline 和 const 可以提升一点......
如果性能很重要(例如游戏编程),是否放置类属性而不是 public(private 或 protected)允许编译器生成更优化的代码?
因为我以前的老师都说它更“安全”或“防止不想要或授权的班级访问/行为”,但最后,我想知道是否将属性设置为不是 public 可以限制范围和从而固定东西。
我不批评我的老师(我应该),但我上的编程课不是很高级......
【问题讨论】:
-
const 不太可能提升任何东西。而且内联一般是没用的。
-
@Alexandre:这种笼统的说法肯定不是真的。
-
const很可能能够提高性能。非常量 int 表达式不能是整型常量表达式,但const int可以。 -
@Alexandre:
inline的目的是允许在多个编译单元中定义函数,因此如果编译器选择内联,则定义可用。是否影响编译器内联函数的决定取决于编译器。 -
@Mike:确实,优化没用。
标签: c++ class private public protected