the behavior is undefined и у нас есть диалект который это "доопределяет". Допустим он конформный. Но не означает ли это что всё равно таким диалектом нельзя пользоваться?
Это означает, что если программа использует в рамках платформы расширенные гарантии, она всё ещё остаётся C++-программой Но из того факта, что программа под некоторой платформой использует расширенные гарантии вовсе не следует, что она же обязательно их использует и под иной платформой, не имеющей таких гарантий Это буквально легализация платформозависимых ифдефов Т.е. программа всё ещё может иметь платформоспецифичные оптимизации и оставаться C++ программой, если на других платформах она имеет другие конформные (в рамках платформ и/или стандарта) их реализации (в том числе те, которые мровоцируют ошибку компиляции) В противном случае, во всём мире не было бы фактически ни одной C++ программы
Обсуждают сегодня