c++ - 使用模板时如何初始化数组

标签 c++ arrays templates

我创建了一个数组模板供我个人使用。

template <typename T, int size>
struct Vector {
    T data[size];
};

我试着像这样初始化数据:

Vector<unsigned char, 10> test;
test.data[] = {0,1,2,3,4,5,6,7,8,9};

我的编译器最终提示“预期的表达式”。有谁知道我在做什么?我希望能够使用这种初始化方式,您可以一次性给它整个数组定义,而不是使用 for 循环来单独初始化元素。

最佳答案

因为你的类是一个集合,你可以用通常的大括号语法初始化它:

Vector<int, 3> x = { { 1, 2, 3 } };

完全相同的事情适用于 std::array<int, 3> .

关于c++ - 使用模板时如何初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458231/

相关文章:

c++ - 谁在 + 运算符中删除了复制的实例? (c++)

arrays - 更好的 Swift 数组排序方法?

python - 为什么我的 lambda 消失了?

c++ - 在结构中初始化数组

c++ - Clang:模板推导失败 'double' 与 '<double>'

c++ - 在 unordered_map 中,C2440 'type cast' : cannot convert . .. 当定义了 operator== 和 hash_value

c++ - 实现循环队列时出错?

c++ - std::variant 和 boost::variant 有什么区别?

c - 我如何在c中查看带参数的数组是否为空

php - JavaScript:如何获取绝对 Base-URL?