使用STL:vector创建二维数组

C/C++ 专栏收录该内容
31 篇文章 0 订阅

使用vector创建二维数组有很多方便的地方,对比直接动态创建二维数组
http://blog.csdn.net/u011361880/article/details/77505380
发现vector真的是非常的方便,可以直接创建,重点是可以直接初始化,并且,可以初始化为非0元素。而memset只能初始化为0.

同时,vector 中的内建有内存管理,当 vector 离开它的生存期的时候,它的析构函数会把 vector 中的元素销毁,并释放它们所占用的空间,所以用 vector 一般不用显式释放 —— 不过,如果你 vector 中存放的是指针,那么当 vector 销毁时,那些指针指向的对象不会被销毁,那些内存不会被释放。

#include <iostream>
#include <vector>

int main(void)
{
    int n = 3;
    int m = 4;
    std::vector<std::vector<int>> vec(n,std::vector<int>(m));
    //std::vector<std::vector<int>> vec(n,std::vector<int>(m,1)) //初始化为1 也可以为其他数
    for(int i=0; i<n; ++i)
    {
        for(int j=0; j<m; ++j)
            vec[i][j] = i+j;
    }
    for(int i=0; i<n; ++i)
    {
        for(int j=0; j<m; ++j)
            std::cout << vec[i][j];
        std::cout<< std::endl;
    }
    return 0;
}
  • 1
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值