嘿,所以我想创建大小为 x
(也基于用户输入)的 n
数组(基于用户输入)。我当时考虑的方法是让 for 循环执行 n
迭代,并在循环内要求用户输入 x
。问题是我不确定如何使用变量 n
命名数组,我在想类似的东西:
cout << "Enter n: ";
cin >> n
for (i = 0; i < n; i++)
{
cout << "Enter x: ";
cin >> x;
double*array+i;
array+i = new double[x]
}
总而言之,我的问题是:您可以在 C++ 中使用变量创建/命名数组吗?
最佳答案
不幸的是,您不能在 C++ 中执行此操作。尝试这样的事情......
std::cout << "Enter n: ";
std::cin >> n
std::vector<std::vector<double> > arrays(n);
for (std::size_t i = 0; i < n; i++)
{
std::cout << "Enter x: ";
std::cin >> x;
arrays[i].reserve(x);
}
reserve
只分配,不构造std::vector
中的对象;如果您也想构建它们,请使用 resize
。
PS 永远不要使用 using namespace std
;它使您的代码更难阅读和调试。
关于C++:动态创建以for循环迭代器命名的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15178132/