Почему «else» опущен после `return` в некоторых методах libstdc ++` std :: weding`, но не в других?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему «else» опущен после `return` в некоторых методах libstdc ++` std :: weding`, но не в других?

Сообщение Anonymous »

Я читаю реализацию libstdc ++ std :: weder из Master Branch. В ожидаемом заголовке , в строке 864, есть этот код:

Код: Выделить всё

template
constexpr _Er
error_or(_Gr&& __e) &&
{
static_assert( is_move_constructible_v );
static_assert( is_convertible_v );

if (_M_has_value)
return std::forward(__e);
// 

Подробнее здесь: [url]https://stackoverflow.com/questions/79697298/why-is-else-omitted-after-return-in-some-libstdc-stdexpected-methods[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»