Результаты поиска по запросу "raii"
Поддерживает ли C ++ блоки finally? (А что это за «RAII», о котором я продолжаю слышать?)
Поддерживает ли C ++наконец-то [http://java.sun.com/docs/books/tutorial/essential/exceptions/finally.html] блоки? Что этоRAII идиома [http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization]? В чем разница между C ++ RAII идиомой иC ...
Методы для детей, вы получаете ту же гарантию детерминистического получения и распоряжения ресурсами, что и в C ++.
ался найтиRAII [https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization]в Python. Распределение ресурсов - Инициализация - это шаблон в C ++, посредством которого объект инициализируется при его создании. Если это терпит неудачу, то ...
Почему в .NET нет RAII?
Будучи в первую очередь разработчиком C ++, отсутствиеRAII (приобретение ресурсов является инициализацией) в Java и .NET меня всегда беспокоило. Тот факт, чт...
Почему RAII так назван? [закрыто]
Смысл, который я получаю об этой идиоме, состоит в том, что она полезна, потому что она гарантирует, что ресурсы высвобождаются после того, как объект, котор...
Создание HANDLE RAII-совместимого с использованием shared_ptr с пользовательским средством удаления
Мы недавно опубликовали общий вопрос о RAII наТАК, Тем не менее, у меня все еще есть некоторые проблемы с реализацией моего примера HANDLE.
Метод RAII использует эту функцию автоматического управления объектами для обработки объектов, созданных в куче / свободном хранилище, явно запрашивая дополнительную память, используя new / new [], которая должна быть явно уничтожена вызовом delete / delete [] , Класс автоматически управляемого объекта обернет этот другой объект, созданный в памяти heap / free-store. Следовательно, когда запускается конструктор автоматически управляемого объекта, обернутый объект создается в памяти кучи / свободного хранилища, а когда дескриптор автоматически управляемого объекта выходит из области видимости, автоматически вызывается деструктор этого автоматически управляемого объекта, в который переносится объект объект уничтожен с помощью delete. С концепциями ООП, если вы поместите такие объекты в другой класс в закрытой области видимости, у вас не будет доступа к обернутым классам-членам и методам, и это причина, по которой предназначены интеллектуальные указатели (иначе говоря, классы-дескрипторы). Эти интеллектуальные указатели представляют обернутый объект как типизированный объект для внешнего мира, позволяя вызывать любые элементы / методы, из которых состоит открытый объект памяти. Обратите внимание, что умные указатели имеют различные вкусы в зависимости от потребностей. Чтобы узнать больше об этом, вам следует обратиться к программированию на современном C ++ Андрея Александреску или повысить уровень реализации (документации) библиотеки (www.boostorg) shared_ptr.hpp. Надеюсь, это поможет вам понять RAII.
гли бы вы, разработчики C ++, дать нам хорошее описание того, что такое RAII, почему он важен и имеет ли он какое-либо отношение к другим языкам? I делать знаю немного. Я считаю, что это означает «Приобретение ресурсов - это инициализация». ...
Что означает «Приобретение ресурсов» - «Инициализация» (RAII)?
Что означает «Приобретение ресурсов» - «Инициализация» (RAII)?
Нужно ли вручную закрывать ifstream?
Нужно ли вручную звонитьclose() когда я используюstd::ifstream? Например, в коде: std::string readContentsOfFile(std::string fileName) { std::ifstream file(fileName.c_str()); if (file.good()) { std::stringstream buffer; buffer << file.rdbuf(); ...