当前位置 : 主页 > 编程语言 > c++ >

c – 这段代码中数组暗淡意味着什么?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我在阅读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
我在阅读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.

这稍后用于存储矩阵的形状.

网友评论