是否有一些库函数
可以交换两个动态分配数组中的值?
假设我像这样声明和初始化我的数组:
int * a = new int[10];
int * b = new int[5];
for(int i = 0; i < 10; i++){
a[i] = i + 1; //stores a[10] = {1,2,3,4,5,6,7,8,9,10}
}
for(int i = 0; i < 5; i++){
b[i] = i + 1; //stores b[5] = {1,2,3,4,5}
}
swap(a,b);
我希望a
数组存储:{1, 2, 3, 4, 5}
而数组b
应存储:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
std::swap
会交换指针(但不会交换数组)。 - johnstd::vector
并传递引用,否则只需交换指针即可。 - Krzysztof Skowroneknew[]
指针。 - pandorafalters