【发布时间】:2015-12-29 09:33:15
【问题描述】:
我有一个包含std::array<std::vector<T>, N> data_ 成员的模板类。
目前,我可以使用
template<typename T, size_t N>
class A
{
public:
A(some parameters)
{
for (size_t n=0; n<N; n++) {
data_[n].resize(calculated size from parameters);
}
}
private:
std::array<std::vector<T>,N> data_;
};
是否有一些公式可以代替我将数组的初始化放在构造函数中?
例如,如果我只使用vector,然后使用索引函数,我可以有
...
A(some parameters):
data_(std::vector<T>(N*previous size)) {}
...
【问题讨论】:
-
previous size是什么? -
对不起 - 我的意思是从第一个代码示例中的参数计算的大小,在那里写为“根据参数计算的大小”
-
对于初始化列表,我需要 N 个值,对吧?如何编写 N 个相同值的初始化列表,每个
std::vector<T>(calculated size)
标签: c++ arrays templates c++11