Параметры (аргументы) функции по умолчанию.




c++ параметры  по умолчанию, c++ аргументы  по умолчанию Мы уже говорили о параметрах функции в отдельной статье. В этой — мы коротко разберемся, что такое параметры функции по умолчанию. Понять это несложно. Используют их в программировании в основном для удобства. Например нам надо нарисовать 5 одинаковых прямоугольников. Для этого мы можем написать функцию, которая принимает параметры по умолчанию. Рисует она, допустим, прямоугольник 10 на 10 символов. И этот символ всегда ‘@’:

Хотя мы не передавали в функции никаких параметров при вызове, мы увидим пять одинаковых прямоугольников из символов ‘@’ на нашем экране. Функция использовала те значения, которые были присвоены параметрам по умолчанию при её определении.

Но это не всё. Даже если мы определили параметры по умолчанию — есть удобная возможность изменить их значения при вызове.

Допустим, надо нарисовать прямоугольник 5 символов в ширину. Остальные параметры (10 символов в высоту и сам символ ‘@’ ) нас устраивают. Тогда в функцию мы передаем только один параметр. Оставшиеся параметры функция возьмет из заданных по умолчанию.

c++ параметры  по умолчанию, c++ аргументы  по умолчанию

Если же нам необходимо изменить только символ и в параметрах он указан последним, то придется прописать предшествующие параметры, даже если их значения нас устраивают.

c++ параметры  по умолчанию, c++ аргументы  по умолчанию

На экране увидим:

c++ параметры  по умолчанию, c++ аргументы  по умолчанию

Еще один момент, который касается определения параметров по умолчанию в заголовке функции. Определяться они должны справа налево. Например если из трех параметров необходимо задать только один по умолчанию, то он должен быть определен крайним справа.

параметры  по умолчанию с++, аргументы по умолчанию с++, c++

На картинке параметр по умолчанию последний : char symb = ‘@’. Если их надо определить два — то точно так же это будут два крайних справа:

Если вы объявляете прототип функции — надо определить параметры по умолчанию именно в прототипе. В самом определении функции этого делать уже не надо. Пожалуй всё. Если что-то не понятно — спрашивайте в комментариях.

Подписывайтесь на уведомления о новых статьях на нашем сайте:


Согласен получать уведомления от purecodecpp.com на мой e-mail

Дата
Страница
Параметры (аргументы) функции по умолчанию в C++
Рейтинг
5

Параметры (аргументы) функции по умолчанию.: 1 комментарий

  1. Параметры по умолчанию обычно вот так просто не применяются… Они нужны если есть какие-то типичные параметры. Ну например…

    Вы пишите читалку книг и по умолчанию масштаб 100%. Возможно у вас будет функция типа
    load(string filename, /* всякие другие параметры */, scale = 100);
    Т.е. понятно, что имя файла — обязательный параметр, а масштаб может и не указываться.

    Пишите вы текстовый редактор. Кодировка по умолчанию UTF-8 (например).

    Пишите штуку, которая сохраняет что-нибудь в XML формате (есть такой популярный формат) и по умолчанию используется XML версии 1.0.

    Я параметры по умолчанию в своих функциях почти не использую. Сейчас поискал их в последнем своем проекте. Нашел только один пример:

    void animation(QString texturename, bool randomStartFrame = false);

    Тут функция запускает анимацию, в первом аргументе передается имя файла с анимацией. Если второй аргумент не указан, то по умолчанию анимация будет запущена начиная с первого кадра. Если же второй аргумент true — то анимация будет запущена со случайного кадра.

    Как по мне, вот в этом случае с анимацией параметры по умолчанию тоже использовать не стоило бы… В любом случае для их оправданного использования нужно «нормальное поведения», от которого можно отклониться заданием параметров.

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

Код размещайте в тегах: <pre class="lang:c++ decode:true ">YOUR CODE</pre>