这段代码中数组暗淡意味着什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计281个文字,预计阅读时间需要2分钟。
在阅读《C++编程语言》第4版时,遇到了一段代代码。这里直接给出修改后的内容:
cpptemplate class Matrix { array dim; // two dimensions of T 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]) {}};
我在阅读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.你可以在这里找到详细的参考: en.cppreference.com/w/cpp/container/array阵列< INT,N> X;
声明一个长度为x的整数数组;在你的情况下x是2.
这稍后用于存储矩阵的形状.
本文共计281个文字,预计阅读时间需要2分钟。
在阅读《C++编程语言》第4版时,遇到了一段代代码。这里直接给出修改后的内容:
cpptemplate class Matrix { array dim; // two dimensions of T 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]) {}};
我在阅读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.你可以在这里找到详细的参考: en.cppreference.com/w/cpp/container/array阵列< INT,N> X;
声明一个长度为x的整数数组;在你的情况下x是2.
这稍后用于存储矩阵的形状.

