Функции в C++ Ключевые слова: C++, функции, параметры
Функции в C++
Функции — это блоки кода, выполняющие определенные операции. Если требуется, функция может определять входные параметры, позволяющие вызывающим объектам передавать ей аргументы. При необходимости функция также может возвращать значение как выходное. Функции полезны для инкапсуляции основных операций в едином блоке, который может многократно использоваться. В идеальном случае имя этого блока должно четко описывать назначение функции. Следующая функция принимает два целых числа от вызывающего объекта и возвращает их сумму; a и b — это параметры типа int.
int sum(int a, int b)
{
return a + b;
}
Функция может вызываться или вызываться из любого количества мест в программе. Значения, передаваемые функции, являются аргументами, типы которых должны быть совместимы с типами параметров в определении функции.
int main()
{
int i = sum(10, 32);
int j = sum(i, 66);
cout << "The value of j is" << j << endl; // 108
} Части объявления функции
Минимальное объявление функции состоит из возвращаемого типа, имени функции и списка параметров (который может быть пустым), а также необязательных ключевых слов, которые предоставляют дополнительные инструкции для компилятора. В следующем примере показано объявление функции:
int sum(int a, int b);
Определение функции состоит из объявления и тела, который представляет собой весь код между фигурными скобками:
C++
int sum(int a, int b)
{
return a + b;
}
При объявлении функции необходимо указать:
1. Тип возвращаемого значения, который указывает тип значения, возвращаемого функцией, или void значение , если значение не возвращается. В C++11 является допустимым типом возвращаемого значения, auto который указывает компилятору вывести тип из оператора return. В C++14 decltype(auto) также разрешено. Дополнительные сведения см. в подразделе "Выведение возвращаемых типов" ниже.
2. Имя функции, которое должно начинаться с буквы или подчеркивания и не может содержать пробелы. Как правило, символы подчеркивания в начале имен функций стандартной библиотеки указывают на частные функции-члены или функции, не являющиеся членами, которые не предназначены для использования в коде.
3. Список параметров, заключенный в скобки. В этом списке через запятую указывается нужное (возможно, нулевое) число параметров, задающих тип и, при необходимости, локальное имя, по которому к значениям можно получить доступ в теле функции.
Параметры и аргументы функций
У функции имеется список параметров, в котором через запятую перечислено необходимое (возможно, нулевое) число типов. Каждому параметру присваивается имя, по которому к нему можно получить доступ в теле функции. Шаблон функции может указывать дополнительные параметры типа или значения. Вызывающий объект передает аргументы, представляющие собой конкретные значения, типы которых совместимы со списком параметров.
По умолчанию аргументы передаются функции по значению, то есть функция получает копию передаваемого объекта. Для больших объектов создание копии может быть дорогостоящим и не всегда требуется. |