29
ответов

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

Что некоторые общие советы должны удостовериться, что я не пропускаю память в программах C++? Как я выясняю, кто должен свободная память, которая была динамично выделена?
вопрос задан: 27 September 2016 14:57
15
ответов

Виртуальный деструктор в базовом классе необходим, когда все деструкторы по умолчанию [дубликаты]

Я понимаю, что мы должны использовать виртуальные деструкторы в базовых классах, чтобы обеспечить правильное удаление ресурсов, потому что это гарантирует, что цепочка наследования будет соблюдаться, и все родительские деструкторы будут ...
вопрос задан: 1 July 2013 15:11
11
ответов

Tiny RAII для тестирования фрагментов [дубликат]

На данный момент я нахожусь в Windows, и я работаю с WinAPI. Мне не нравится try \ catch, поэтому я использую RAII, и это конструкция, которую я обычно использую: #define r_free (N, T, F, n) \ struct N {...
вопрос задан: 23 April 2012 18:18
11
ответов

Действительно ли это оскорбительно, чтобы использовать IDisposable и «использующий» в качестве средства для получения “рассмотренного поведения” для безопасности исключения?

Что-то, что я часто использовал назад в C ++, позволяло классу ручка государственное условие входа и выхода для другого класса B, через конструктор и деструктор, чтобы удостовериться что если что-то в том объеме...
вопрос задан: 20 January 2010 13:13
10
ответов

Понимание значения слова и понятия - RAII (Приобретением ресурса является Инициализация),

Могли Вы разработчики C++, дайте нам хорошее описание того, каков RAII, почему важно, и могло ли это иметь какое-либо отношение к другим языкам? Я действительно знаю немного. Я верю...
вопрос задан: 22 April 2014 09:13
10
ответов

C ++ RAII не работает?

Я только начинаю работать с RAII в C ++ и настраиваю небольшой тестовый пример. Либо мой код сильно сбит с толку, либо RAII не работает! (Я думаю, что это первое). Если я запускаю: #include <исключение> # ...
вопрос задан: 9 July 2009 14:08
10
ответов

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

Большинство людей говорит, никогда не выдают исключение из деструктора - выполнение так результатов в неопределенном поведении. Stroustrup высказывает мнение, для которого "векторный деструктор явно вызывает деструктор...
вопрос задан: 3 October 2008 06:53
9
ответов

Что лучший способ состоит в том, чтобы реализовать интеллектуальные указатели в C++?

Я оценивал различные реализации интеллектуального указателя (ничего себе, существует МНОГО там), и мне кажется, что большинство из них может быть категоризировано в две широких классификации: 1) Эта категория...
вопрос задан: 16 August 2019 17:44
9
ответов

Существует ли лучший детерминированный шаблон распоряжения, чем вложенное “использование” s?

В C#, если я хочу детерминировано очистить неуправляемые ресурсы, я могу использовать ключевое слово "использования". Но для нескольких зависимых объектов, это заканчивается вложение далее и далее: использование (FileStream...
вопрос задан: 5 November 2012 16:06
9
ответов

Хорошая или Плохая Идиома C++ - Объекты, используемые просто для конструктора/деструктора?

У меня есть несколько классов, которые не делают ничего кроме их конструкторов/деструкторов. Вот является класс в качестве примера BusyCursor {частный: Курсор oldCursor _; общественность: BusyCursor () {...
вопрос задан: 12 January 2009 12:50
9
ответов

Вопрос на интеллектуальных указателях и их неизбежном индетерминизме

Я экстенсивно использовал интеллектуальные указатели (повышение:: shared_ptr, чтобы быть точным) в моих проектах в течение прошлых двух лет. Я понимаю и ценю их преимущества, и мне обычно нравятся они много. Но...
вопрос задан: 31 December 2008 15:18
8
ответов

Деструктор C++, как гарантируют, не назовут до конца блока?

В коде C++ ниже, мне гарантируют это ~obj (), деструктор назовут после//выполняется Больше кода? Или компилятор, позволенный разрушать объект obj ранее, если он обнаруживает, что это...
вопрос задан: 18 January 2010 16:43
6
ответов

Как обработать отказ выпустить ресурс, который содержится в интеллектуальном указателе?

Как должен ошибка во время освобождения ресурса быть обработанным, когда объект, представляющий ресурс, содержится в общем указателе? РЕДАКТИРОВАНИЕ 1: помещать этот вопрос в более конкретные условия: Много C-...
вопрос задан: 23 May 2017 12:07
6
ответов

RAII по сравнению с исключениями

Чем больше мы используем RAII в C++, тем больше мы оказываемся с деструкторами, которые делают нетривиальное освобождение. Теперь, освобождение (завершение, однако Вы хотите звонить, это) может перестать работать, в этом случае...
вопрос задан: 23 May 2017 11:53
6
ответов

C++ поддерживает 'наконец' блоки? (И каков этот 'RAII', о котором я продолжаю слышать?)

C++ поддерживает 'наконец' блоки? Какова идиома RAII? Каково различие между идиомой C++ RAII и оператором 'использования' C#?
вопрос задан: 14 September 2011 02:33
6
ответов

Какой класс обертки в C++ я должен использовать для автоматизированного управления ресурсами?

Я - любитель C++. Я пишу некоторому Win32 код API и существуют дескрипторы и странно сложно выделенные объекты много. Таким образом, я задавался вопросом - там некоторый класс обертки, который сделал бы ресурс...
вопрос задан: 12 March 2010 14:16
6
ответов

Закрытый метод поблочного тестирования в ресурсе руководящий класс (C++)

Я ранее задал этот вопрос под другим именем, но удалил его, потому что я не объяснил это очень хорошо. Скажем, у меня есть класс, который управляет файлом. Скажем, то, что этот класс рассматривает файл как...
вопрос задан: 12 February 2010 17:59
6
ответов

C# - Объекты сразу уничтожаются при выходе из объема?

Я могу положить, что объект уничтожается, и его деструктор называют сразу, когда он выходит из объема в C#? Я полагаю, что это должно, так как много общих методов кодирования (например, объекты транзакции) полагаются...
вопрос задан: 26 September 2009 09:45
6
ответов

Реализация RAII в чистом C?

Действительно ли возможно реализовать RAII в чистом C? Я предполагаю, что это не возможно никаким нормальным способом, но возможно является этим возможное использование некоторой злой шутки. Перегрузка стандартной бесплатной функции прибывает в...
вопрос задан: 24 April 2009 07:06
6
ответов

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

На практике с C++, что такое RAII, что такое интеллектуальные указатели, как они реализованы в программе и каковы преимущества использования RAII с интеллектуальными указателями?
вопрос задан: 27 December 2008 16:13
6
ответов

Почему не там никакой RAII в.NET?

Будучи, прежде всего, разработчиком C++ отсутствие RAII (Приобретение Ресурса Является Инициализацией) в Java и.NET всегда беспокоило меня. То, что бремя чистки перемещено от класса...
вопрос задан: 6 October 2008 19:44
5
ответов

Существует ли язык с RAII + Касательно подсчета, который не имеет небезопасного указателя arithmetric?

RAII = Приобретение Ресурса является Инициализацией Касательно подсчета = "GC бедного человека" Вместе, они довольно мощны (как касательно - считал 3D объект, содержащий VBO, который это бросает, освобождает, когда это - деструктор...
вопрос задан: 3 January 2018 15:01
5
ответов

Почему это неправильно для использования станд.:: auto_ptr <> со стандартными контейнерами?

Почему это неправильно для использования станд.:: auto_ptr <> со стандартными контейнерами?
вопрос задан: 14 December 2011 01:06
5
ответов

RAII в Java … распоряжение ресурса всегда так ужасен?

Я просто играл с файловой системой Java API и снизился со следующей функцией, используемой для копирования двоичных файлов. Первоисточник прибыл из сети, но я добавил пункты попытки/выгоды/наконец, чтобы быть уверенным...
вопрос задан: 6 January 2011 09:43
5
ответов

Можно ли использовать shared_ptr для RAII массивов C-стиля?

Я работаю над разделом кода, который имеет много возможных мест ошибки, которые заставляют его выходить из функции рано. Библиотеки, с которыми я взаимодействую, требуют, чтобы массивы C-стиля были переданы...
вопрос задан: 16 July 2010 16:42
5
ответов

Есть ли случаи, где “наконец” конструкция была бы полезна в C++?

Bjarne Stroustrup пишет в его Стиле C++ и Технике FAQ, шахту акцента: Поскольку C++ поддерживает альтернативу, которая почти всегда лучше: "приобретение ресурса является инициализацией" техника (...
вопрос задан: 23 December 2008 04:24
4
ответа

Поддерживает ли Java RAII / детерминированное уничтожение?

Прошло не менее 5 лет с тех пор, как я работал с Java, и тогда, когда бы вы ни захотели выделить объект, который необходимо очистить (например, сокеты, дескрипторы БД), вы должны были не забыть добавить наконец ...
вопрос задан: 23 May 2017 12:09
4
ответа

C++ как управление ресурсами, возможное в Java [дубликат]

В C++ у нас есть шаблон Приобретения ресурса является инициализацией (RAII), который значительно упрощает управление ресурсами. Идея состоит в том, чтобы обеспечить некоторый переносящийся объект для любого вида ресурсов...
вопрос задан: 27 December 2013 05:40
4
ответа

ScopeGuard использует действительно вывод для лучше кодирования?

Я столкнулся с этой статьей, написанной Andrei Alexandrescu и Petru Marginean много лет назад, который представляет и обсуждает служебный класс под названием ScopeGuard для написания безопасного от исключения кода. Я хотел бы...
вопрос задан: 27 June 2010 09:06
4
ответа

Наличие деструктора принимает различные меры в зависимости от того, произошло ли исключение

У меня есть некоторый код для обновления таблицы базы данных, которая похожа на попытку {db.execute ("НАЧИНАЮТСЯ");//много из УДАЛЯЕТ и ВСТАВЛЯЕТ db.execute ("ФИКСАЦИЯ");} выгода (DBException&) {db.execute ("...
вопрос задан: 9 April 2010 07:02