C и С++ имеют много отличий, и не все допустимые C-коды являются действительными С++-кодом.
(Под "действительным" я подразумеваю стандартный код с определенным поведением, т.е. Не специфичный для реализации/ undefined/и т.д.)
Есть ли какой-либо сценарий, в котором часть кода, действительная в C и С++, создавала бы другое поведение при компиляции со стандартным компилятором на каждом языке?
Чтобы сделать это разумным/полезным сравнением (я пытаюсь узнать что-то практически полезное, а не пытаться найти очевидные лазейки в вопросе), допустим:
- Ничего связанного с препроцессором (что означает отсутствие хаков с
#ifdef __cplusplus
, прагмами и т.д.) - Все значения, определенные реализацией, одинаковы на обоих языках (например, числовые ограничения и т.д.).
- Мы сравниваем разумно последние версии каждого стандарта (например, С++ 98 и C90 или более поздние версии)
Если версии имеют значение, то, пожалуйста, укажите, какие версии каждого продукта отличаются друг от друга.