首页 >后端开发 >C++ >如何使用构造函数初始化列表在 C 中初始化 `const` 数组成员?

如何使用构造函数初始化列表在 C 中初始化 `const` 数组成员?

Barbara Streisand
Barbara Streisand原创
2024-11-03 17:26:03583浏览

How to Initialize `const` Array Members in C   Using Constructor Initialization Lists?

使用构造函数初始化列表来初始化 Const 数组成员

在 C 中,带有 const 限定符的类成员被认为是常量,并且在之后不能被修改初始化。这就提出了如何在类初始值设定项列表中初始化此类成员的问题。考虑以下类定义:

<code class="cpp">class MyClass {
public:
    const int arr[2];
};</code>

不可能在构造函数体内初始化 arr,因为它被声明为 const。然而,C 11 引入了一个新功能,允许在构造函数初始化列表中初始化 const 成员。

<code class="cpp">struct MyClass {
    const int arr[2];

    MyClass() :
        arr{ 2, 3 }
{
    // Other construction logic
}
};</code>

在此示例中,arr 成员使用构造函数初始化列表中的值 {2, 3} 进行初始化。这允许创建具有不同 arr 常量值的 MyClass 的多个实例。

以上是如何使用构造函数初始化列表在 C 中初始化 `const` 数组成员?的详细内容。更多信息请关注PHP中文网其他相关文章!

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