65,186
社区成员




template<class T, size_t size>
class MyArray
{
public:
MyArray() {}
//使用initializer_list可以有类似的效果,但是无法在编译时检测数量
MyArray(initializer_list<T> li) { }
private:
T elements[size];
};
MyArray<int, 2> a2 {1,2}; //OK
MyArray<int,3> a3 {1,2,3,4}; //编译时没有报错,但是这个不合理的
但是std::array是可以的std::array<int,3> aa {1,2,3}; //这是对的,数量可以相同或者比声明的少
std::array<int,3> bb {1,2,3,4}; //但是不能比声明的多,这个编译时会报错