美文网首页
C/C++动态多维数组

C/C++动态多维数组

作者: IT孤独者 | 来源:发表于2017-01-05 10:39 被阅读0次

之前一直考虑如何使用C中的malloc函数来生成动态的多维数组,但是一直没有找到一个满意的做法(形式要简单,而且使用要简单)
今天看到了STL库中的vector的初始化式,还有一个assign方法。简直了,使用vector可以很好的实现我的要求。

实现n*m的多维数组的代码如下:

#include <iostream>
#include <vector>
using namespace std;

void Output(const vector<vector<int> > & matrix)
{
    for(int i=0; i<matrix.size(); ++i) {
        for (int j=0; j<matrix[i].size(); ++j) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
}

int main(int argc, char ** argv)
{
    int n = 3;
    int m = 4;
    vector<vector<int> > matrix(n, vector<int>(m, 0));

    Output(matrix);

    return 0;
}

当然你还可以使用assign方法,代码如下:

#include <iostream>
#include <vector>
using namespace std;

void Output(const vector<vector<int> > & matrix)
{
    for(int i=0; i<matrix.size(); ++i) {
        for (int j=0; j<matrix[i].size(); ++j) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
}

void AllocMatrix(vector<vector<int> > & matrix, int n, int m)
{
    matrix.clear();
    matrix.assign(n, vector<int>(m, 0));
}

int main(int argc, char ** argv)
{
    int n = 3;
    int m = 4;
    vector<vector<int> > matrix;
    AllocMatrix(matrix, n, m);

    Output(matrix);

    return 0;
}

相关文章

  • C/C++动态多维数组

    之前一直考虑如何使用C中的malloc函数来生成动态的多维数组,但是一直没有找到一个满意的做法(形式要简单,而且使...

  • [进阶]C++:数组形参

    使用表准库规范 传递多维数组 C++语言中实际上没有真正的多维数组,多为的多维数组实际上是数组的数组 等价定义 m...

  • [基础]C++:名字的作用域

    使用表准库规范 传递多维数组 C++语言中实际上没有真正的多维数组,多为的多维数组实际上是数组的数组 等价定义 m...

  • C++多维数组

    声明形式:type name [name1] [name2][name3][name4]... 示例:int th...

  • C++动态多维数组范例的代码

    将开发过程中比较重要的代码备份一下,下面的代码内容是关于C++动态多维数组范例的代码,希望对小伙伴们有所用。 #i...

  • C++知识查缺补漏

    C++知识查缺补漏 Vector 向量,动态数组 C++中的一个类,用起来相当于动态数组,可以使用在一开始无法确定...

  • C、C++之动态数组的实现二(C++版本)

    c、c++动态数组(c++版本) 本篇文章基于笔者正在参与的c++课程,第二次作业的内容是要求使用c++的特性对上...

  • C++ new多维数组

    为啥第二行就错误呢?其实我们可以这样理解: int(p)[3]其中p是指针,这是毋庸置疑的,那这个指针指向什么类的...

  • c++ new 和delete的种种

    new/delete动态管理对象,new[]/delete[]动态管理对象数组。 C++中,把int 、char....

  • C++动态数组

    在C++中有的时候定义一个数组的长度大小是由用户自己定义的,这个时候就需要声明动态数组。 声明一维动态数组: 声明...

网友评论

      本文标题:C/C++动态多维数组

      本文链接:https://www.haomeiwen.com/subject/gitzvttx.html