Передача int (&array)[] в функцию C++

Итак, есть три способа передать массив в функцию

I.

II.

III.

Я понял, что I. и II. практически одно и то же, они передают указатель на первый элемент.

Но как насчет передачи по ссылке int (&array)[]?

В чем разница? Когда следует использовать int (&array)[]?

Изначально я думал, что это синтаксис для явной передачи массива по ссылке, чтобы программист знал, что данные не копируются (поскольку все другие типы данных передаются по ссылке без создания копии).

void changeArray(int array[]) {
    array[0] = 1111;
}
void changeArrayByPointer(int * array) {
    array[0] = 1111;
}
void changeArray(int (&array)[]) {
    array[0] = 1111;
}
Стоян
Вопрос задан11 марта 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.