Пространства имён
Варианты
Действия

return statement

Материал из cppreference.com
< cpp‎ | language

 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
оператор goto
оператор return
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор inline
спецификаторы исключений (устарело)
спецификатор noexcept (C++11)
Исключения
Пространства имён
объявление пространства имён
псевдонимы пространства имён
Типы
спецификатор decltype (C++11)
Спецификаторы
cv-спецификаторы
спецификаторы продолжительности хранения
спецификатор constexpr (C++11)
спецификатор auto (C++11)
спецификатор alignas (C++11)
Инициализация
Литералы
Выражения
Утилиты
Типы
typedef-объявление
объявление псевдонима типа (C++11)
атрибуты (C++11)
Приведения типов
неявные преобразования
const_cast-преобразование
static_cast-преобразование
dynamic_cast-преобразование
reinterpret_cast-преобразование
C-подобное и функциональное приведение типов
Выделение памяти
Классы
Особые свойства классовых функций
Специальные функции-члены
Шаблоны
шаблон класса
шаблон функции
специализация шаблона
упакованные параметры (C++11)
Разное
Ассемблерные вставки
 
Завершает текущей функции и возвращает указанное значение вызывающему функцию.
Оригинал:
Terminates current function and returns specified value to the caller function.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Синтаксис

return expression (1)
return (2)

[править] Объяснение

Первая версия оценивает expression, завершает текущую функцию и возвращает результат expression вызывающей функции. В результате тип expression должны быть конвертированы в функционировать возвращаемого типа.
Оригинал:
The first version evaluates the expression, terminates the current function and returns the result of the expression to the caller function. The resulting type of the expression must be convertible to function return type.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вторая версия завершает текущую функцию. Только справедливо, если тип возвращаемого функцией является void.
Оригинал:
The second version terminates the current function. Only valid if the function return type is void.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Ключевые слова

return

[править] Пример

#include <iostream>
 
void fa(int i)
{
    if (i == 2) return;
    std::cout << i << '\n';
}
 
int fb(int i)
{
    if (i > 4) return 4;
    std::cout << i << '\n';
    return 2;
}
 
int main()
{
    fa(2);
    fa(1);
    int i = fb(5);
    i = fb(i);
    std::cout << i << '\n';
}

Вывод:

1
4
2