是否有可能重新分配一个数组到另一个数组?就像这样: 这是功能E02:如何重新分配一个数组到另一个数组?
void e02(){
int a[] = {15, 9, 8, 4, 3};
int n = 5;
int x = 5;
fn02(a, n, x);
cout << endl;
for(int i = 0; i < n; i++){
cout << a[i] << " ";
}
}
这是功能fn02:
void fn02(int* a, int &n, int x){
n += 1;
int* b = new int[n];
int j = 0;
bool put = false;
for(int i = 0; i < n; i++){
if(x > a[i] && put == false){
b[j] = x;
j++;
a--;
put = true;
} else{
b[j] = a[i];
j++;
} //else
} //i loop
a = b;
}
据说这是为了把变量n到数组但阵列仍然需要降。如果我只是这样分配a = b,那么我得到输出15,9,8,4,3,5,其中5是垃圾值。所以我的问题是:有没有办法重新分配一个数组到像这样的不同数组? 如果我使用像
int* &p1;
一个指针,然后把它的功能我得到我想要什么,但功能必须有这些参数,并具有为无效
使用'的std :: VECTOR' – StoryTeller
我想我说的功能必须是这样。我无法使用矢量 – Oktavix
[我如何在C++中使用数组?](https:// stackoverflow。com/questions/4810664/how-do-i-use-arrays-in-c) –