二维数组

lsfv001 2017-06-22 12:06:08
自己一直用vecort 来处理二维数组的。
但现在的代码使用了二维数组。int[10][10];
我想用vector 存储二维数组指针。大概知道p是一个10个int 的指针的数组的指针
该如何操作。

int (*p)[10]=new int[10][10];
std::vector<int[10][10]> testv;
testv.push_back(p);
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2017-06-22
  • 打赏
  • 举报
回复
struct Array2D { int array[10][10]; } vector<Array2D> 这样子也是可行的一种办法,免去内存的管理
幻夢之葉 2017-06-22
  • 打赏
  • 举报
回复
引用 4 楼 lsfv001 的回复:
[quote=引用 1 楼 jianwen0529 的回复:] std::vector<int(*)[10]> std::vector<int**> 第一种push的必须是指向一维为10的数组 第二个就随意些
如果是 堆中的数据。 我自己是应该还要 迭代 vector 进行 delete [] 吧???? 老写法真是太不好用了。[/quote] new的东西当然要delete
lsfv001 2017-06-22
  • 打赏
  • 举报
回复
引用 1 楼 jianwen0529 的回复:
std::vector<int(*)[10]> std::vector<int**> 第一种push的必须是指向一维为10的数组 第二个就随意些
如果是 堆中的数据。 我自己是应该还要 迭代 vector 进行 delete [] 吧???? 老写法真是太不好用了。
paschen 版主 2017-06-22
  • 打赏
  • 举报
回复
std::vector<std::vector<int> >
幻夢之葉 2017-06-22
  • 打赏
  • 举报
回复
引用 1 楼 jianwen0529 的回复:
std::vector<int(*)[10]> std::vector<int**> 第一种push的必须是指向一维为10的数组 第二个就随意些
你怎么操作数组就怎么操作里面的指针,类似的
幻夢之葉 2017-06-22
  • 打赏
  • 举报
回复
std::vector<int(*)[10]> std::vector<int**> 第一种push的必须是指向一维为10的数组 第二个就随意些

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧