Может ли код, действительный как на C, так и на C ++, вызывать различное поведение при компиляции на каждом языке?

C и C ++ имеют много различий, и не весь действительный код C является допустимым кодом C ++.

(От "действительный» Я имею в виду стандартный код с определенным поведением, то есть не зависящим от реализации / неопределенным / и т. Д.)

Есть ли сценарий, в котором кусок кода, действительный как на C, так и на C ++, произведетразные поведение при компиляции со стандартным компилятором на каждом языке?

Чтобы сделать это разумное / полезное сравнение (яя пытаюсь выучить что-то практически полезное, а не пытаться найти очевидные лазейки в вопросе), давайтеПредположим, что:

Ничего не связанного с препроцессором (что означает отсутствие взлома с#ifdef __cplusplus, прагмы и пр.)Все, что определено реализацией, одинаково для обоих языков (например, числовые ограничения и т. Д.)Мы'сравнивая разумно последние версии каждого стандарта (например, C ++ 98 и C90 или более поздние версии)

Если версии имеют значение, пожалуйста, укажите, какие из версий имеют различное поведение.

Ответы на вопрос(19)

Ваш ответ на вопрос