【发布时间】:2012-12-25 21:27:30
【问题描述】:
当我从用户那里读取一些值并且我需要创建一个特定大小的数组时,我会这样做:
#include <iostream>
using namespace std;
unsigned* numbers;
int main()
{
int a;
cin >> a;
numbers = new unsigned[a];
}
如何使用二维数组(从用户读取的大小为 a*b)?
【问题讨论】:
-
但是为什么呢? whyyy?(提示:std::vector)同样,二维数组是邪恶的。
-
@BartekBanachewicz ,您的评论对于初学者来说是没有建设性的。 gen ,向量的向量是可能的,但有相关的性能损失(我不会费心进入这里)
-
怎么样,@brennan?提出唯一合理的解决方案怎么会没有建设性?
-
@BartekBanachewicz 因为认为无论他在哪里学习 C++ 都值得在进入标准库之前教他核心语言(什么是数组和指针),这并非不合理。您可能同意也可能不同意的教学策略,但肯定是合法的。简单地告诉他他的“提示”是错误的,这对于没有看过 C++ 标准库的人来说似乎非常神秘是没有帮助的。就像说某事是“邪恶的”,没有任何解释。
-
@Brennan 错了,错了,错了。谁点赞了这条评论?标准库是核心语言,远比 C 风格的数组和指针更基础,尤其是在 C++11 中(甚至在此之前)。随着教学策略的发展,你的教学策略很糟糕而且适得其反。 Bartek 的建议很中肯。
标签: c++ arrays memory-management multidimensional-array