c++ - 我应该将其声明为该类的 const int 成员变量吗?

标签 c++

此时我在构造函数中设置了一些值,例如宽度、高度等。它们目前不是常量,但我希望它们是常量,所以我现在将更改它们。

但我听说将此类变量设为私有(private) const 而不同时进行 private static const 并不常见。是这样吗?还是在这种情况下有效?我还需要 centerWidth,它将通过将 width 变量除以 2 来设置。如果我将它们设为常量,我可以这样做吗?

最佳答案

这些值是否特定于对象的实例,但仅在构造函数中设置?那么 static 就没有意义了,因为每个对象都会有相同的高度和宽度。

如果您创建一个私有(private)数据成员const,则默认赋值运算符将不起作用,您需要提供一个。

关于c++ - 我应该将其声明为该类的 const int 成员变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7445783/

相关文章:

C++ 引用正在构造的对象

c++ - 在赋值中使用 block() 收缩具有 Eigen 的矩阵

c++ - dynamic_cast 返回相同的对象类型失败,具有多重继承和中间变量

c++ - 为什么C++11定义一个不存在的值作为默认值?

c++ - 在 OpenCV 中使用 hog.compute(...) 访问冲突

c++ - 使用系统托盘图标创建后台进程

c++ - gcc 中的 Concepts-Lite(带有 TS 链接)

c++ - 如何将一个 "unknown"的派生类声明为基类的成员,并允许派生版本的成员函数被调用?

c++ - 生成真正的随机数

c++ - 调用 Gdiplus::PrivateFontCollection.AddMemoryFont 时出现访问冲突错误