Итак, до C++11 инициализация членов класса для неконстантных и нестатических переменных не допускалась.
Бьерн Страуструп аргументировал это тем, что одноопределение Правило «было бы нарушено, если бы C++ допускал внутриклассовое определение сущностей, которые нужно было хранить в памяти как объекты.»
Что он имел в виду под этим?
Я понимаю, что правило одного определения требует, чтобы для каждой программы разрешалось только одно определение объекта, существующего в памяти. Но я до сих пор не понимаю, почему это правило может быть нарушено.
Мой вопрос связан с этим вопросом, но я задаю другой вопрос, специально для разъяснения того, как действует правило одного определения. сломался бы.
Я смотрел доклад Боба Стигалла «Назад к основам» - «Структура программы». И рассмотрел некоторые другие связанные вопросы. Но я до сих пор не могу понять утверждения Страуструпа.
Подробнее здесь: https://stackoverflow.com/questions/785 ... -class-mem
Мобильная версия