首页 > 后端开发 > C++ > 如何将 C 11 `constexpr` 数组从 0 初始化为 N?

如何将 C 11 `constexpr` 数组从 0 初始化为 N?

DDD
发布: 2024-12-11 05:19:10
原创
259 人浏览过

How to Initialize a C  11 `constexpr` Array from 0 to N?

在 C 11 中初始化从 0 到 N 的 Constexpr 数组

在 C 11 中,创建一个从 0 到指定整数 n 的 constexpr 数组需要更多一点比后来的 C 版本更努力。实现方法如下:

使用 Constexpr 构造函数和循环:

#include <iostream>

template<int N>
struct Array {
    constexpr Array() : arr() {
        for (auto i = 0; i != N; ++i)
            arr[i] = i;
    }
    int arr[N];
};

int main() {
    constexpr auto a = Array<5>();
    for (auto x : a.arr)
        std::cout << x << '\n';
}
登录后复制

在此代码中:

  • 数组结构模板表示 constexpr 数组。
  • constexpr 构造函数使用循环将数组元素从 0 初始化到 N-1。
  • 在 main() 中,Array 的实例创建后,其元素将打印到控制台。这应该输出 0, 1, 2, 3, 4。

以上是如何将 C 11 `constexpr` 数组从 0 初始化为 N?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板