【发布时间】:2016-10-06 08:39:47
【问题描述】:
这个:
constexpr const std::array<int, 3> {{
0,
1
}};
编译正常。
但是如何(在编译时)检查整个数组是否已填充?可能是一些static_assert?
【问题讨论】:
-
“填充”是什么意思?你的意思是初始化?
-
@TartanLlama 是的,已初始化。检查程序员在改变大小后没有忘记添加一个值。
-
没有办法测试一个对象是否已经初始化,但我认为剩余的元素是值初始化的(即在你的情况下为零)。 (换句话说,它就像一个普通数组。)
-
是的,除非您需要编写一个包装函数来为您创建数组;事后你无法判断。
标签: c++ compile-time static-assert