【发布时间】:2016-07-13 10:09:57
【问题描述】:
我有一个带有私有成员 std::array<int,10> m_arr; 的类,默认情况下它包含零,但在一种情况下,它必须设置为其他值。
该类有一个设置器
void setArray(const std::array<int,10>& arr)
{
m_arr=arr;
}
但是我想知道是否可以在特定情况下以某种方式在编译时完成设置? 提前致谢。
【问题讨论】:
-
这取决于该用例的确切区别?
-
在编译时知道
const std::array<int,10>& arr参数应该是可能的。如果是用户输入等,这是不可能的 -
在那种情况下,所有的值都需要不是 0 还是它们会有不同的值?
-
const std::array<int,10>& arr在编译时是已知的,而不是用户输入,并且值为零。 -
你需要
constexpr,而不仅仅是const