До C++11 «правило одного определения» нарушалось при инициализации членов класса нестатических и неконстантных переменныC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 До C++11 «правило одного определения» нарушалось при инициализации членов класса нестатических и неконстантных переменны

Сообщение Anonymous »

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

Подробнее здесь: https://stackoverflow.com/questions/785 ... -class-mem
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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