Функции в C++ для начинающих Параметры по умолчанию

Сайт не является учебником по программированию. Это только небольшой авторский сборник информации в помощь начинающим программистам.

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

По этому примеру легко увидеть определенную закономерность. В функции main я три раза вызываю функцию S(). Каждый раз я вызываю её по разному указывая параметры.

  • Если при вызове функции параметр не задается явно, то во время начала работы функции, значение параметра принимает значение указанное по умолчанию.

Еще есть такое правило, что параметры по умолчанию должны быть самыми правыми (те, что самые левые задаются во время вызова функции).
Думаю этот код мал и очень простой, поэтому хорошо заметно каким образом параметры по умолчанию подставляются в функции.
В примере три вызова функции
Первый вызов — это два параметра по умолчанию
Второй вызов — только параметр b по умолчанию
Третий вызов — параметры указаны явно (не по умолчанию)

============

  • Хороший стиль программирования предполагает, что то, что вы пишите, должно легко и быстро читаться другими программистами, поэтому многие программисты предпочитают явно указывать все параметры во время вызова функции.

 

Небольшой практический учебный пример ситуации выгодного использования параметров по умолчанию.
Задан массив со значениями. Нужно сжать этот массив, выкинув из него каждый, например, 5 элемент. Использовать вспомогательный массив запрещено по заданию. Вывести сжатый и исходный массив на экран.

Благодаря такой возможности как параметры по умолчанию, заданная задача была решена легко и без лишнего геморроя. При этом оказалось возможным указывать какой именно каждый элемент стоит пропускать.

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

3 комментария: Функции в C++ для начинающих Параметры по умолчанию

  • Alexsandr говорит:

    Вы не могли бы объяснить подробнее, что это означает?
    (!((i+1)%el)))

    • admin говорит:

      ! -Элемент логики. Читается как логическое НЕ, как отрицание,
      % — Это арифметическая операция, которая выдает остаток от деления. Ноль — всегда отрицание, НЕ ноль всегда НЕ отрицание.

      ================
      Такое выражение можно было записать так

  • Alexsandr говорит:

    Спасибо)

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

Ваш e-mail не будет опубликован.

Поиск

 
     
Яндекс.Метрика

НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

В обед, шеф заходит в бухгалтерию. На столах лежат "мыши" на спине. Спрашивает: - В чём дело? - Чтобы компьютеры не тормозили, сисадмин рекомендовал класть "мышек" на спину, для отдыха в нерабочее время.

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок