`
kmplayer
  • 浏览: 518611 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

借助vector<vector<T> >,实现一个简单的矩阵

 
阅读更多
1,实例代码:
#include <iostream>
#include <vector>
using namespace std;

template<class T>
class Matrix
{
private :
    vector<vector<T> > _mat;

public :
    Matrix(int row, int col) //这个构造函数是关键
    {
        if (col>=0 && row>0)
        {
            _mat.resize(row);
            for (int i=0; i<row; ++i)
                _mat[i].resize(col);
        }
    }
    vector<T>& operator[](int i)
    {
        if(i>=0 && i<_mat.size())
            return  _mat[i];
    }
};

int main()
{
    Matrix<int> m(10, 10);
    cout << m[1][2]<<" "<<m[9][9];
}
分享到:
评论

相关推荐

    潮流计算(运用vector实现矩阵的运算,包括返回一个矩阵,运用复数库对复数进行操作)

    根据给定的信息,本文将详细解释“潮流计算(运用vector实现矩阵的运算,包括返回一个矩阵,运用复数库对复数进行操作)”这一主题所涉及的重要知识点。 ### 一、潮流计算概述 潮流计算是电力系统分析中的一个重要工具...

    基于C++模板 实现的数据结构代码.zip

    在这里,`std::vector&lt;T&gt;`是一个动态数组,也是C++标准库中模板类的实例,它提供了方便的内存管理和动态大小调整功能。 链表数据结构的实现通常涉及节点类和链表类。节点类包含数据和指向下一个节点的指针,链表类...

    C语言 c++语言 二维数组找鞍点

    以下是一个简单的C语言示例代码: ```c #include &lt;stdio.h&gt; int main() { int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int row_max, col_min; int row_of_col_min = -1; // 初始化为无效值 for (int...

    4d_playground

    通过嵌套容器,可以创建动态大小的四维数据结构,如 `std::vector&lt;std::vector&lt;std::vector&lt;std::vector&lt;int&gt;&gt;&gt;&gt;`。这种方式提供了更好的内存管理,但访问性能可能略逊于数组。 3. **自定义数据结构**:为了优化...

    libsvm工具箱,matlab版本,libsvm3.25

    SVM是一种二分类模型,其基本模型是定义在特征空间上的间隔最大的线性分类器,即找到一个超平面,使得两类样本在该超平面两侧的距离最大。SVM通过核函数将低维非线性可分问题转换为高维线性可分问题,从而实现非...

Global site tag (gtag.js) - Google Analytics