raii- все статьи тега
бросать исключения из деструктора
большинство людей говорят никогда выбросить исключение из деструктора-это приводит к неопределенному поведению. Страуструп подчеркивает, что "вектор деструктор явно вызывает деструктор для каждого элемента. Это означает, что если элемент деструктор бросает, вектор разрушения не удается... На самом деле нет хорошего способа защиты от исключений, вызванных деструкторами, поэтому библиотека не дает никаких гарантий, если деструктор элемента бросает " (из приложения Е3.2). в этой статье кажется, го ...
Понимание значения термина и понятия - RAII (приобретение ресурсов-это инициализация)
не могли бы Вы, разработчики C++, дать нам хорошее описание того, что такое RAII, почему это важно, и может ли это иметь какое-либо отношение к другим языкам? Я do знаю немного. Я считаю, что это означает "приобретение ресурсов является инициализацией". Однако это имя не совпадает с моим (возможно, неверным) пониманием того, что такое RAII: у меня создается впечатление, что RAII-это способ инициализации объектов в стеке, когда те переменные выходят из области видимости, деструкторы будут автом ...
Почему нет RAII in.NET?
будучи в первую очередь разработчиком C++ отсутствие RAII (сбор ресурсов является инициализацией) в Java и .NET всегда беспокоило меня. Дело в том, что бремя очистки перемещается от класса writer к его потребителю (с помощью try finally или .NET using построить), кажется, заметно уступает. Я вижу, почему в Java нет поддержки RAII, так как все объекты расположены в куче и сборщике мусора по своей сути не поддерживает детерминированное разрушение, но в .NET с введением типов значений (struct) у н ...