Задать вопрос
@anenenu

А return 0(1) * _getch(), есть ли смысл от такой конструкции?

Я как ученик, обладающим багажом знаний, столкнулся с проблемой - мой преподаватель требует от меня, чтобы я использовал такую конструкцию, однако, мне кажется, что для этого можно найти решение получше/является нецелесообразным
Помогите доказать преподавателю, что такую конструкцию лучше не использовать, по возможности приведя примеры реальной практики
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
@Furax
Похоже на неуклюжую попытку игнорировать результат вызова функции _getch() и не словить предупреждений.

Синтаксис "0(1)" специфичен для Visual Studio. Clang 18.1.3 и GCC 13.3.0 его не понимают. Писать на C++ так, чтобы при переносе на другую платформу приходилось править синтаксис, - довольно плохая практика (обычно находится и так достаточно проблем, чтобы их ещё руками плодить). С другой стороны, функция _getch() объявлена в conio.h, которого на том же линуксе нет, поэтому, возможно, переносимость и не была целью.

Кстати, за более чем 15 лет на C++ вижу такой синтаксис впервые. Повод задуматься о том, насколько он будет понятен следующему разработчику.
Ответ написан
15432
@15432
Системный программист ^_^
Умножать на 0 getch() точно не стоит, если хочется избежать предупреждения от неиспользуемом результате, лучше напишите (void)getch();
Ответ написан
Комментировать
@coodi
std::ignore не подойдёт?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы