是否有可能重新分配一個數組到另一個數組?就像這樣: 這是功能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) –