cpp创建一个m*n的mat
时间: 2024-09-10 14:23:30 浏览: 12
在C++中,我们可以使用二维数组(std::vector<std::vector<T>>)来表示一个m行n列的矩阵。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
// 如果你想存储整数,可以将T替换为int或其他适当的数据类型
template <typename T>
class Matrix {
public:
// 定义矩阵大小
Matrix(int m, int n) : rows(m), cols(n) {
data.resize(rows, std::vector<T>(cols, 0)); // 初始化所有元素为0
}
// 获取矩阵大小
int getRows() const { return rows; }
int getCols() const { return cols; }
// 访问和修改特定位置的元素
T& operator()(int row, int col) {
return data[row][col];
}
const T& operator()(int row, int col) const {
return data[row][col]; // 返回常量引用防止修改
}
private:
int rows;
int cols;
std::vector<std::vector<T>> data;
};
int main() {
// 创建一个3x4的矩阵
Matrix<int> matrix(3, 4);
// 访问和设置元素
matrix(0, 0) = 1; // 设置左上角元素为1
matrix(2, 2) = 9; // 设置右下角元素为9
// 遍历打印矩阵
for (int i = 0; i < matrix.getRows(); ++i) {
for (int j = 0; j < matrix.getCols(); ++j) {
std::cout << matrix(i, j) << " ";
}
std::cout << "\n";
}
return 0;
}
```