你可以写出vector
如果非要用数组的话,折中的方法我想到的有两种:
1. 使用vector
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,};
vec.push_back(a);
int res = *(vec[0] + 3); // res = 3
2.使用一个类对数组进行一次包装,然后重载该类的=操作符。比如:
class A
{
public:
int a[10];
A& operator=(const A& aa)
{
for(int i = 0; i < 10; i++)
a[i] = aa.a[i];
}
};
这样可以用vector vec定义完成类似的功能。如:
A r1; r1.a = {1, 2, 3, ....} (这一行是伪代码)
A r2; r2.a = {1, 3, 5, ....} (伪代码)
vec.push_back(r1);
vec.push_back(r2);
int res = vec[0].a[0]; // res = 1
res = vec[1].a[1];// res = 3
以上。望采纳。