常量成员和没有setter的私有成员有什么区别?

What is the difference between a constant member and a private member without setter?

假设我有一个常量成员,不同的对象对该常量有不同的值,这个常量成员和没有setter的私有成员有什么区别?

除了 cv-qualification 和 accessibility 是两个完全不同的概念之外,const public 成员与私有非常量成员也有实际意义。

  • 无法在其对象之外访问私有成员,因此如果您想这样做,您必须创建一个 public 方法 (getter)
  • 私有非常量成员是可变的,即在同一个 class 中定义的方法可以更改它
  • const 成员一旦初始化就无法更改

这完全取决于你想做什么。