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

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Может ли код, допустимый как на C, так и на C++, вести себя по-разному при компиляции на каждом языке?

Сообщение Anonymous »

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

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

Существует ли сценарий, в котором фрагмент кода, допустимый как на C, так и на C++, будет производить различное поведение при компиляции стандартным компилятором на каждом языке?

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

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


Подробнее здесь: https://stackoverflow.com/questions/128 ... en-compile
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»