Сообщение Re: Предупреждения о константном условии от 24.05.2020 5:13
Изменено 24.05.2020 5:23 Alexander G
Re: Предупреждения о константном условии
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>"while (false)" или "if (false)" тоже проходят на ура, и никаких тебе "unreachable code".
Предположение: может быть, это как-то связанно с введением if constexpr
ЕМ> Но мешает использовать конструкции вроде "while (true)" или "do ... while (false)" — для них приходится делать костыли.
Как по мне, не очень мешает
while(true) можно заменить на for(;) — это даже более идиоматичная конструкция
С do {...} while (false) сложнее, но можно заменить на костыль if constexpr(false) {} else { ... } , хотя есть нюанс, что while(false) требует ;
лучше бы оставили ворнинги.
ЕМ>"while (false)" или "if (false)" тоже проходят на ура, и никаких тебе "unreachable code".
Предположение: может быть, это как-то связанно с введением if constexpr
ЕМ> Но мешает использовать конструкции вроде "while (true)" или "do ... while (false)" — для них приходится делать костыли.
Как по мне, не очень мешает
while(true) можно заменить на for(;) — это даже более идиоматичная конструкция
С do {...} while (false) сложнее, но можно заменить на костыль if constexpr(false) {} else { ... } , хотя есть нюанс, что while(false) требует ;
лучше бы оставили ворнинги.
Re: Предупреждения о константном условии
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>"while (false)" или "if (false)" тоже проходят на ура, и никаких тебе "unreachable code".
Предположение: может быть, это как-то связанно с введением if constexpr
ЕМ> Но мешает использовать конструкции вроде "while (true)" или "do ... while (false)" — для них приходится делать костыли.
Как по мне, не очень мешает
while(true) можно заменить на for( ; ; ) — это даже более идиоматичная конструкция
С do {...} while (false) сложнее, но можно заменить на костыль if constexpr(false) {} else { ... } , хотя есть нюанс, что while(false) требует ;
лучше бы оставили ворнинги.
ЕМ>"while (false)" или "if (false)" тоже проходят на ура, и никаких тебе "unreachable code".
Предположение: может быть, это как-то связанно с введением if constexpr
ЕМ> Но мешает использовать конструкции вроде "while (true)" или "do ... while (false)" — для них приходится делать костыли.
Как по мне, не очень мешает
while(true) можно заменить на for( ; ; ) — это даже более идиоматичная конструкция
С do {...} while (false) сложнее, но можно заменить на костыль if constexpr(false) {} else { ... } , хотя есть нюанс, что while(false) требует ;
лучше бы оставили ворнинги.