在C++中,标记为static
的成员由给定类的所有实例共享。无论是否为私有都不会影响一个变量由多个实例共享的事实。如果有任何代码会尝试修改它,那么在那里有const会警告你。为什么使用静态const(int/string/..)如果你可以把它设置为私有?
如果这是严格的private
,那么类的每个实例都会得到它自己的版本(尽管有优化器)。这是我读的here。我的问题是,为什么static const int
而不是将所需的变量放在private
?我知道每个对象都会有自己的,但为什么它不好呢?
我明白。非常感谢你! – Yanketz