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



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


5
Нужно ли вручную закрывать 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 std::runtime_exception("file not found"); } Нужно ли звонить file.close()вручную? Не следует ifstreamиспользовать RAII для закрытия файлов?
201 c++  ifstream  raii 

6
RAII и умные указатели в C ++
На практике с C ++, что такое RAII , что такое интеллектуальные указатели , как они реализованы в программе и каковы преимущества использования RAII с интеллектуальными указателями?
193 c++  smart-pointers  raii 

29
Общие рекомендации по предотвращению утечек памяти в C ++ [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …

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

11
Понимание значения термина и концепции - RAII (Resource Acquisition is Initialization)
Не могли бы вы, разработчики C ++, дать нам хорошее описание того, что такое RAII, почему он важен и может ли он иметь какое-либо отношение к другим языкам? Я сделать немного знаю. Я считаю, что это означает «Приобретение ресурсов - это инициализация». Однако это имя не согласуется с моим (возможно, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.