首页 > 后端开发 > C++ > 如何在 C 中初始化 2D `std::array` ?

如何在 C 中初始化 2D `std::array` ?

Susan Sarandon
发布: 2024-11-21 01:28:13
原创
869 人浏览过

How Do I Initialize a 2D `std::array` in C  ?

2D std::array 的初始化

尽管它的出现,C 中的 2D std::array 并没有以相同的方式初始化作为 2D C 数组。其根本原因是 std::array 是一个类,而不是数组。

要初始化 2D std::array,必须同时使用类大括号和成员数组大括号:

std::array<std::array<int, 3>, 2> a2 { { { {1, 2, 3} }, { { 4, 5, 6} } } };
登录后复制

外大括号 {} 初始化类本身,而内大括号 {{}} 初始化类中包含的成员 C 数组。

与 C 数组初始化的比较

为了澄清差异,这里与 C 数组初始化进行比较:

struct B {
  int array[3];
};
struct A {
  B array[2];
};

B b = {{1,2,3}};
A a = {{
     {{1,2,3}},
     {{4,5,6}}
}};
登录后复制

在 C 中,外大括号 {} 初始化结构体本身,而内大括号 {{}} 初始化结构体中的成员数组。此语法类似于 C 中 2D std::array 的初始化,但在后一种情况下,std::array 类需要额外的外大括号来初始化类本身。

以上是如何在 C 中初始化 2D `std::array` ?的详细内容。更多信息请关注PHP中文网其他相关文章!

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