Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Позиційні та значення за замовчуванням для аргументів | Специфікація аргументів функції
Функції C++

Позиційні та значення за замовчуванням для аргументів

Свайпніть щоб показати меню

Позиційні аргументи

Позиційні аргументи — це спосіб передачі значень у функцію у певному порядку відповідно до сигнатури функції. Значення співвідносяться з параметрами згідно з їх положенням у списку параметрів сигнатури функції. Позиція кожного аргументу визначає, якому параметру він відповідає.

main.cpp

main.cpp

1234567891011121314151617181920
#include <iostream> // Function that takes two positional arguments float divide(float a, float b) { if (b == 0) return 0; return a / b; } int main() { float x = 8; float y = 4; // Calling the 'divide' function with two positional arguments float result = divide(x, y); std::cout << result << std::endl; }

Можна провести невеликий експеримент: змініть порядок передачі аргументів у функцію (використайте divide (y, x) замість divide(x, y)), і ви побачите, що результат змінився. Саме в цьому і полягає суть позиційних аргументів: порядок передачі параметрів у функцію має значення та безпосередньо впливає на її результат.

Значення за замовчуванням

Аргументи за замовчуванням дозволяють призначати параметрам функції стандартні значення. Якщо функцію викликають без усіх аргументів, відсутні параметри використовують свої значення за замовчуванням. Щоб встановити значення за замовчуванням, просто вкажіть його безпосередньо у декларації функції.

main.cpp

main.cpp

12345678910111213141516171819202122
#include <iostream> // Default value is set for the third parameter float divide(float a, float b, bool terminate = true) { if (b == 0) { if (terminate) return 0; return a / 0.000001; // Prevent crash by using a very small number } return a / b; } int main() { std::cout << divide(10, 2) << std::endl; // Normal division std::cout << divide(10, 0) << std::endl; // Default behavior (error) std::cout << divide(10, 0, false) << std::endl; // Forced division }

Функція divide() ділить одне число на інше. Якщо знаменник (b) дорівнює нулю:

  • terminate = true → повертає 0
  • terminate = false → ділить на дуже мале число, щоб уникнути помилки

Параметр terminate має значення за замовчуванням true, тому його можна не вказувати. Встановіть terminate = false, щоб продовжити обчислення замість зупинки.

Note
Примітка

Всі аргументи за замовчуванням повинні знаходитися після позиційних у списку параметрів. В іншому випадку компілятор видасть помилку.

question mark

Яке оголошення функції коректно використовує позиційні та аргументи за замовчуванням?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 1
some-alt