Массивы в стиле C не являются указателями, но, как и большинство объектов, их можно поменять местами со стандартным std::swap()
:
#include <iostream>
#include <utility>
int main()
{
double array_one[] = {1,2,3};
double array_two[] = {9,8,7};
std::swap(array_one, array_two);
std::cout << "array_one[0] = " << array_one[0] << '\n';
std::cout << "array_two[0] = " << array_two[0] << '\n';
}
На самом деле, похоже, что std :: swap () для массивов определяется только в C ++ 0x (20.3.2), так что не берите в голову.
Правильный ответ для массивов в области видимости и массивов в качестве указателей на первые элементы:
std::swap_ranges(array_one, array_one + 3, array_two);