while {} else {};

Эдвард Давтян
Эдвард Давтян
#include <iostream>
#include <string>

int main() {
  std::string s;
  while (std::getline(std::cin, s)) {
    std::cout << s << std::endl;
  } else {
    std::cout << "Input is empty" << std::endl;
  }
  return 0;
}
0
рейтинг
2 комментария
yndx-antoshkka
Мало кто из Python разработчиков знает об этом синтаксисе, а ведь именно из него, как я понимаю, и взята эта идея.

Синтаксис отсутствует во множестве языков программирования и не интуитивно понятен. Мне было бы не приятно читать код, в котором есть подобные конструкции.
yndx-antoshkka
pavelandreevith
yndx-antoshkka, я соглашусь с этим else, и напомню, что в python он используется в т.ч. для определения, был ли выход из цикла обычный, или с использованием break.

ideone.com/quZxlv
ideone.com/iFdkb6

И я помню доклад Sean Parent в 2013-м, где он достаточно красноречиво аргументировал, что циклы - это вообще плохо. Но пару раз такой фичи мне в С++ очень не хватало.
pavelandreevith
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).