c – 这段代码中数组暗淡意味着什么?
发布时间:2020-12-16 09:21:31 所属栏目:百科 来源:网络整理
导读:我在阅读C编程语言第4版时遇到了这段代码 templateclass Tclass Matrix { arrayint,2 dim; // two dimensions T? elem; // pointer to dim[0]*dim[1] elements of type Tpublic: Matrix(int d1,int d2) :dim{d1,d2},elem{new T[d1?d2]} {} // error handling
我在阅读C编程语言第4版时遇到了这段代码
template<class T> class Matrix { array<int,2> dim; // two dimensions T? elem; // pointer to dim[0]*dim[1] elements of type T public: Matrix(int d1,int d2) :dim{d1,d2},elem{new T[d1?d2]} {} // error handling omitted int size() const { return dim[0]?dim[1]; } Matrix(const Matrix&); // copy constructor Matrix& operator=(const Matrix&); // copy assignment Matrix(Matrix&&); // move constructor Matrix& operator=(Matrix&&); // move assignment ?Matrix() { delete[] elem; } // ... }; 该类中有两个数据成员,其中一个是类型为T的指针.我无法理解什么是数组< int,2>昏暗的意思. 解决方法
这是利用标准库中的std :: array.你可以在这里找到详细的参考:
https://en.cppreference.com/w/cpp/container/array
阵列< INT,N> X; 声明一个长度为x的整数数组;在你的情况下x是2. 这稍后用于存储矩阵的形状. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |