Инициаливызов функции похожий ни if с инициализаторомзация аргументов при вызове функции

Владислав Петров
Владислав Петров

Например if(int x = bar(5); x == 25) {

  // работает

}, а

bar(auto x = foo(),...,...; x < 3,...,...) { // где x есть возврат (ax) из bar

  // не работает, хорошо ведь?

}

 

мне кажется таким образом можно сохранить диски и глаза.

 

как и с лямбдами листаем и пишем меньше.

 

Когда я был маленьким, мне казалось, что if тоже функция. Теперь я повзрослел и думаю так: "if -- это `короткая' лямбда, а лямбда `короткая' функция"

 

-5
рейтинг
3 комментария
yndx-antoshkka

Кажется форматирование съело часть символов. Из описания непонятно, что именно вы предлагаете :(

yndx-antoshkka
Sasha Sitnikov

yndx-antoshkka, если я правильно понял, предполагается такое:

int foo();
void bar(int, bool);

int main() {
  bar(int x = foo(), x < 3);
}
Sasha Sitnikov
Andrey

Sasha Sitnikov, это как минимум означает, что аргументы доожны вычисляться слева направо, что сейчас не фиксировано.

Andrey
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения