可能这可能是一个非常基本的问题,但仍然想了解一些基本概念......
为什么我们将变量定义为 const ? - 在整个程序中保持特定变量的值不变。
但是,当我遇到构造函数的初始化列表时,它允许在对象构造期间为 const 变量赋值(例如,我尝试了下面的程序),我对 const 关键字本身的基本概念感到困惑。有人可以澄清一下吗?
下面程序中的 const 变量的目的是什么,如果允许在对象构造期间改变它?对于这些行为,我们有任何实时场景吗?如果是这样,你能给出一些场景吗?
#include<iostream>
using namespace std;
class Test {
const int t;
public:
Test(int t):t(t) {} //Initializer list must be used
int getT() { return t; }
};
int main() {
Test t1(10);
cout<<t1.getT();
return 0;
}
最佳答案
基本上,当数据成员被声明为常量时,它们必须在构造对象之前具有一些值因此我们使用成员初始化程序,以便在构造对象之前数据成员具有一些值。
在这个程序中直到最后数据成员将具有相同的值
对于真实场景:
例如,您必须制作一个薪资程序,其中每个员工都有名字和姓氏,这样您就不希望函数意外修改他们的名字,因此为了防止这种情况,您可以让他们保持不变。
关于c++ - 构造函数初始化列表和 const 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167649/