Параметры функции

В языке C++ обычно при вызове функции мы передаем в нее некоторые аргументы. Эти аргументы называются параметрами функции. Рассмотрим простейший пример.

Мы вызвали функцию ask, передав в нее параметр a, и результат записали в b. В данном случае фактический параметр, глобальная переменная a никак не изменится, внутри функции операции будут происходить с формальным параметром, локальной переменной  a, которая существует только внутри этой функции. Иногда требуется наоборот, изменить с помощью функции один из вводимых параметров. Тогда в качестве аргументов используются ссылки и указатели.

В данном примере  значение y изменится и станет равно двум, потому что в функции передали не значение, которое примет локальная переменная, а сам объект, с которым и происходили все изменения. А x останется единицей, так как переданный параметр функции стал значением, которое изменилось внутри функции и более нигде не использовалось.

Указатели в основном используются для передачи массивов в функции. В C++ в функцию никогда не передается массив напрямую, а только указатель на 1 символ этого массива. Даже если принудительно объявить одним из параметров функции массив, как показано ниже, C++ автоматически преобразует его в указатель на 1 элемент массива.

Так что все три  варианта эквивалентны, и сводятся в языке C++ к последнему. В C++ возможно установить значение параметров функции по умолчанию. Тогда если параметры не введены, функция использует заранее заданные значения.

Опубликовано

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Капча загружается...