Можно ли в следующей версии стандарта разрешить вместо return statement использовать -> ?
Хотя бы в лямбдах...
А то слово какое-то длинное...
Чтобы вместо
Здравствуйте, B0FEE664, Вы писали:
BFE>Что скажите?
Было предложение по добавлению в C++ т.н. abbreviated lambdas формата [](auto&& a, auto&& b) => a.id() < b.id(), но не взлетело пока. Подробнее здесь: Why were abbrev. lambdas rejected?
Здравствуйте, B0FEE664, Вы писали:
BFE>Что скажите?
Скажу что подобные тебе и испортили язык...
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Здравствуйте, so5team, Вы писали:
BFE>>Что скажите? S>Было предложение по добавлению в C++ т.н. abbreviated lambdas формата [](auto&& a, auto&& b) => a.id() < b.id(), но не взлетело пока. Подробнее здесь: Why were abbrev. lambdas rejected?
Непонятно зачем '=>' вместо '->'.
Да и возражения из статьи мне не понятны. Можно же написать auto x = a.id() < b.id(); и никаких особых неоднородностей не наблюдается: тип и значения x понятны. Почему с лямбдами должно быть по-другому?
Здравствуйте, LaptevVV, Вы писали:
BFE>>Т.е. уже как бы return, но не совсем. LVV>Это да. На мой взгляд лучше было бы использовать вместо стрелки двоеточие, как в паскале.
Неее. Ну какой ещё "Паскаль"?! Да и неоднозначности будут всякого рода:
Так однозначно:
int a = 1;
int b = 2;
auto x = a < b ? [](auto bb) -> bool { return bb; }(b) : [](auto aa) { return 0 < aa; }(a);
а вот с двоеточием не очень:
int a = 1;
int b = 2;
auto x = a < b ? [](auto bb) : bool { return bb; }(b) : [](auto aa) { return 0 < aa; }(a);
Здравствуйте, koenjihyakkei, Вы писали:
K>Здравствуйте, B0FEE664, Вы писали:
K>Зачем полумеры, нужно как в Руби — последнее выражение есть возвращаемое значение:
K>