是否可以生成可变数量的变量?例如,假设我想声明一些未知数量的整数,是否有办法让代码自动声明
int n1;
int n2;
.
.
.
int nx;
其中x是所需变量的最终数量。
需要此功能的潜在应用程序将读取行数和列数未知的.csv文件。现在,我可以想到没有可变数量变量的唯一方法就是2D向量,或者编程在更多列中,而不是可能在程序接收的任何输入文件中
答案 0 :(得分:7)
是。 (更好,更可能!)
int x[100]; //100 variables, not a "variable" number, but maybe useful for you!
int *px = new int[n];// n variables, n is known at runtime;
//best
std::vector<int> ints; //best, recommended!
在此处阅读std::vector
:
http://www.cplusplus.com/reference/stl/vector/
另请参阅std::list
和其他STL容器!
编辑:
对于多维,您可以使用:
//Approach one!
int **pData = new int*[rows]; //newing row pointer
for ( int i = 0 ; i < rows ; i++ )
pData[i] = new int[cols]; //newing column pointers
//don't forget to delete this after you're done!
for ( int i = 0 ; i < rows ; i++ )
delete [] pData[i]; //deleting column pointers
delete [] pData; //deleting row pointer
//Approach two
vector<vector<int>> data;
使用适合您的任何内容,简化您的问题!
答案 1 :(得分:5)
使用
std:vector<int> n
或
int* n = new int[x];