首页 >后端开发 >C++ >如何在 C 中正确初始化常量数据成员?

如何在 C 中正确初始化常量数据成员?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-05 00:42:11436浏览

How to Properly Initialize Const Data Members in C  ?

C 中的常量数据成员初始化

在 C 中,当尝试在类声明中初始化常量数据成员时,会出现诸如“ ISO C 禁止初始化成员”和“使 't' 静态”可能会出现。要解决这个问题,必须了解 const 数据成员的性质。

常量变量表示在程序执行期间无法修改的值。然而,C 要求对象定义具有唯一的声明。为了遵守这条规则,const 变量不能在类声明中定义。

解决方案在于使用初始化列表在类声明之外定义 const 变量。初始化 const 数据成员的语法为:

className() : memberName(value) {}

在您的示例中:

#include <iostream>

using namespace std;

class T1
{
  const int t;

public:
  T1() : t(100) {}
};

int main()
{
  T1 obj;
  cout << "T1 constructor: " << obj.t << endl;
  return 0;
}

此代码在对象构造期间使用值 100 初始化 const 数据成员 t,从而避免了上述错误。

以上是如何在 C 中正确初始化常量数据成员?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn