Что обозначает "->" в данном контексте?

auto isExpired = [](const std::shared_ptr<CTimer> &timer) -> bool
{
    return timer->isExpired();
};

Вопрос, собственно, о -> bool


Ответы (1 шт):

Автор решения: nomnoms12

-> в Вашем контексте означает тип возвращаемого значения анонимной функции. То есть указывает на то, что результат выражения timer->isExpired() должен иметь тип bool.

Указывать возвращаемое значение конкретно в Вашем случае необязательно. Компилятор может самостоятельно вывести его, так как тело функции содержит единственный оператор, и этот оператор — return (возвращающий выражение).

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

→ Ссылка