Вопросы с тегом «raii»

257
выбрасывать исключения из деструктора

Большинство людей говорят, что никогда не выбрасывают исключение из деструктора - это приводит к неопределенному поведению. Страуструп подчеркивает, что «векторный деструктор явно вызывает деструктор для каждого элемента. Это означает, что, если деструктор элемента выбрасывает, векторное разрушение...

201
Нужно ли вручную закрывать 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(); file.close(); return buffer.str(); } throw...

193
RAII и умные указатели в C ++

На практике с C ++, что такое RAII , что такое интеллектуальные указатели , как они реализованы в программе и каковы преимущества использования RAII с интеллектуальными...

130
Общие рекомендации по предотвращению утечек памяти в C ++ [закрыто]

В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...

112
Является ли злоупотреблением использование IDisposable и «using» в качестве средств для получения «ограниченного поведения» для обеспечения безопасности исключений?

Что-то, что я часто использовал в C ++, позволял классу Aобрабатывать условие входа и выхода из состояния для другого класса Bчерез Aконструктор и деструктор, чтобы убедиться, что если что-то в этой области выдает исключение, тогда B будет иметь известное состояние, когда область была закрыта. С...

110
Понимание значения термина и концепции - RAII (Resource Acquisition is Initialization)

Не могли бы вы, разработчики C ++, дать нам хорошее описание того, что такое RAII, почему он важен и может ли он иметь какое-либо отношение к другим языкам? Я сделать немного знаю. Я считаю, что это означает «Приобретение ресурсов - это инициализация». Однако это имя не согласуется с моим...