когда RAII был добавлен в C ++

0

Недавно я узнал о прекрасной методике управления памятью RAII, которая кажется настолько чище, чем новая/удаленная головная боль, которую я изучил в школе несколько лет назад (я не смотрел много C++ в течение прошедших лет).

Я пытаюсь отследить, когда эта замечательная техника была добавлена в C++. Это всегда было, и я просто пропустил записку? Какая самая старая версия стандарта C++, которая поддерживает RAII?

[UPDATE: OK. Теперь я понимаю, почему это не идеальный вопрос SO. У меня нет практического способа проверить, правильно ли подтвержден какой-либо ответ! Тем не менее мне все еще очень интересно узнать ответ, и я полагаю, что мнение большинства будет верным.

Я слышу, что он всегда был там, и я не сомневаюсь, что это правда, но возникает вопрос, почему ни одна из моих старых текстовых книг не упоминает об этом? Я только что проверил Meyers "Эффективное C++ 2-е издание, которое мне удобно, и проверит старые тексты сегодня вечером. Может быть, этот термин был только недавно придуман, а техника существовала задолго до?]

  • 4
    RAII - это концепция, а не особенность
  • 0
    Ну, все стандартизированные версии поддерживают это.
Показать ещё 5 комментариев
Теги:
raii

3 ответа

3
Лучший ответ

Когда именно был придуман термин "RAII", я не уверен. Но сама техника существовала в C++ с момента ее изобретения, около 1979 года.

Первая версия стандарта C++ ISO была опубликована в 1998 году.

  • 1
    Согласно Википедии, Бьярне думал об этом (или, по крайней мере, придумал термин)
2

Википедия утверждает, что Stroustrup изобрел RAII, опирается на его книгу " Дизайн и эволюция C++", опубликованная в 1994 году.

У меня нет копии для проверки, но, похоже, она по крайней мере на этот раз.

2

Любой язык, имеющий переменные области с автоматическими вызовами деструктора, может выполнять RAII. C++ имел это понятие с самого начала как вызов деструктора, когда выполнение оставляет область, в которой объявлена переменная, было в C++ с самого начала.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню