Тонкости С++: странный код, implementation-defined, unspecified и undefined behavior
Русский
일반
В этом тесте будут представлены различные "каверзные" фрагменты кода на С++. Скомпилируется ли этот код? Приведёт ли его выполнение к implementation-defined, unspecified behavior или undefined behavior? А если нет, то что будет выведено в консоль после выполнения кода? Для прохождения этого теста нужно быть знакомым с последними стандартами С++, а также знать, в чём разница между implementation-defined behavior, unspecified behavior и undefined behavior.
설명
33
질문
1 분
질문당
6:52
평균 시간
4.7
대회 점수
4.6
커뮤니티 평점
23
참가자
4 댓글
Giant Snail 심사위원
This test may have a higher chance of receiving a reward. Nominated for:

1. Educational explanations. 👍 Explanations cover why the correct answers are correct and why the wrong answers are wrong (when appropriate). E.g.: #q6, #q7, #q8, etc.
2. Provides a valuable service, teaches something useful that can be used in real life. 👍
3. Step-by-step approach to teaching. 👍 E.g.: #q1, #q2, #q3, #q4, etc.
Mindful Kitten
Вопрос про оператор Элвиса не является корректным https://imgur.com/a/x32FHbL

Conformance compiler view такой, то есть MSVC не принимает это: https://gcc.godbolt.org/z/-HAWbc
http://eel.is/c++draft/expr.cond#2 -- в conditional операторе оба выражения должны присутствовать
Это GNU extension, см https://gcc.gnu.org/onlinedocs/gcc/Conditionals.html#Conditionals

По стандарту это не должно скомпилироваться
Ace Cock 작성자
Хм, и правда, спасибо за замечание
Dmitry Sabrekov
А в 19 вопросе разве unsigned int не может быть 64 битным?
퀴즈를 풀어야지만 댓글을 남길 수 있습니다