Лучшие destructor вопросы ИТ разработчиков

  • 25 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Почему на самом деле удаление неполного типа является неопределенным поведением?

Рассмотрим этот классический пример, используемый для объяснения того, чтоне делать с предварительными декларациями:

Задан 25 Mar 2010, 16:13 от abigagli
  • 28 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

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

В моем коде C ++ 11 я получаю предупреждение "Декларация требует деструктора времени выхода в следующем случае:

Задан 15 Jan 2013, 09:17 от Lars Schneider
  • 78 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

shared_ptr магия :)

Мистер Лидстрём и я поссорились :)Г-н Лидстрём утверждает, что конструкция

Задан 10 Oct 2010, 09:41 от Armen Tsirunyan
  • 9 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

да, с -fno-elide-constructors я вижу все деструкторы

#include <iostream> using namespace std; class Test { public: Test() { printf("construct ..\n"); } ~Test() { printf("destruct...\n"); } }; Test Get() { Test t = Test(); return t; } int main(int argc, char *argv[]) { Test t = Get(); return 0; ...

Задан 21 Jun 2011, 07:59 от qiuxiafei
  • 7 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Как написать деструктор для объединяющего класса

Я пытаюсь использовать объединение (C ++), которое имеет некоторые не примитивные переменные, но я застрял, пытаясь создать деструктор для этого класса. Как ...

Задан 29 Jul 2015, 03:16 от ranisalt
  • 12 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Наследование и деструкторы в C #

Согласно сэто [http://msdn.microsoft.com/en-us/library/66x5fx1b.aspx], это заявляет, чтоDestructors cannot be inherited or overloaded. В моем случае для всех подклассов деструкторы будут идентичны. Значит ли это, что я должен определить один и ...

Задан 17 Nov 2011, 21:09 от user489041
  • 13 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

C ++ 11 Деструктор Exception позволяет бросать сейчас?

Любая идея, почему виртуальный ~ exception () throw () в C ++ 98, а виртуальный ~ exception () в C ++ 11?Какие&#39;Является ли дизайнерское решение, которое ...

Задан 14 May 2013, 08:24 от hong pei
  • 9 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Почему в C ++ 11 не удаляется объект с деструктором с неопределенным поведением побочного эффекта?

Этот ответ [https://stackoverflow.com/a/9921320/57428]цитаты С ++ 11 Стандарт 3.8: если явного вызова деструктора нет или если выражение-выражение (5.3.5) не используется для освобождения хранилища, деструктор не должен вызываться неявно, и ...

Задан 02 Apr 2012, 06:04 от sharptooth
  • 16 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Самый краткий способ отключить копирование класса в C ++ 11

У меня есть проблема, связанная с устаревшим, так как C ++ 11 по умолчанию генерирует конструктор копирования и оператор присваивания копии, когда существует...

Задан 17 May 2014, 09:24 от vedg
  • 15 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Это хорошая идея, чтобы закрыть член потока класса в деструкторе класса?

Каков наилучший способ закрыть поток Boost, управляемый классом C ++, когда пришло время уничтожить объект этого класса? У меня есть класс, который создает и...

Задан 27 Jun 2012, 12:49 от bythescruff
  • 28 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Хотя также разумно, чтобы узел был отсоединен от одного списка и связан с другим списком, без освобождения какой-либо памяти, поэтому нежелательно, чтобы одна операция удаления безоговорочно освобождала память.

ня я видел какой-то устаревший код. В деструкторе есть утверждение типа &quot;

Задан 15 Jan 2009, 16:11 от Vinay
  • 53 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Переслать декларацию с unique_ptr? [Дубликат]

На этот вопрос уже есть ответ: Требуется ли std :: unique_ptr <T> знать полное определение T? [/questions/6012157/is-stdunique-ptrt-required-to-know-the-full-definition-of-t] 7 ответов Я считаю полезным использовать предварительное объявление ...

Задан 16 Nov 2012, 10:23 от Zyx 2000
  • 26 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Ловля исключений в деструкторах

Можно ли заставить деструктор перехватывать исключения и затем перебрасывать их?Если так, как бы я это сделал, так как нетЯсное место для

Задан 23 Sep 2013, 13:50 от abelenky
  • 23 голосов
  • 12 ответов
  • 0 просмотров
12 ответов

Observable behavior and undefined behavior — What happens if I don't call a destructor?

Примечание: Я видел похожие вопросы, но ни один из ответов не является достаточно точным, поэтому я задаю это сам. Это очень придирчивый "вопрос языка юриста" Я ищу авторитетный ответ.Стандарт C ++ гласит: Программа может закончить время жизни ...

Задан 14 Jan 2014, 09:35 от Mehrdad
  • 43 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Вызывает ли C ++ деструкторы для глобальных и классовых статических переменных?

Из моего примера программы, похоже, он вызывает деструкторы в обоих случаях. В какой момент он вызывает деструкторы для глобальных и статических переменных к...

Задан 05 Feb 2010, 02:01 от user236215
  • 6 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Тривиальные деструкторы вызывают алиасинг

C ++ 11 §3.8.1 заявляет, что для объекта с тривиальным деструктором я могу закончить его срок службы, назначив его хранилище. Мне интересно, могут ли тривиал...

Задан 06 Sep 2013, 20:09 от Cort Ammon
  • 10 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

 выполнить эту обязанность (т.е. в этом случае в операторе if).

я двигаюсь-конструируюa изbэто все ещенеобходимо разрушатьbили я могу уйти без этого? Этот вопрос приходил мне в голову во время реализацииoptional<T> шаблон. Выдержка: ~optional() { if (initialized) { reinterpret_cast<T*>(data)->~T(); } ...

Задан 04 Aug 2011, 15:05 от fredoverflow
  • 8 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

разница между деструктором и сборщиком мусора

Я хочу знать, есть ли какая-либо разница между деструктором и сборщиком мусора, деструктор используется для удаления всех неиспользуемых объектов в конце срока службы приложения, так же как и сборщик мусора, сборщик мусора может вызываться или ...

Задан 26 Feb 2012, 16:56 от Abbas
  • 9 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

сколько делает деструктор по умолчанию

Деструктор по умолчанию в классах C ++ автоматически удаляет члены, которые явно не выделены в коде? Например: class C { public: C() {} int arr[100]; }; int main(void) { C* myC = new C(); delete myC; return 0; }Удаляет ли myC освобождение arr ...

Задан 31 Mar 2012, 03:24 от Robz
  • 169 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

http://msdn.microsoft.com/en-us/library/66x5fx1b.aspx

мер: public class Person { public Person() { } ~Person() { } }Когда я должен вручную создать деструктор? Когда вам нужно было создать деструктор?

Задан 04 Feb 2011, 13:55 от delete
  • 6 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Оператор new [] не получает лишних байтов

У меня такой код #include <cstdlib> class Foo { int m_data; public : Foo() : m_data(0) { } /*~Foo() { }*/ static void* operator new[](const size_t size) { return malloc(size); } static void operator delete[](void* data) { free(data); } }; ...

Задан 06 Dec 2012, 15:08 от Pavel Dubsky
  • 5 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Обновление базы данных на __destruct ()?

Как вы думаете, это хорошая идея? Допустим, у вас есть компонент приложения, который используется другими компонентами для извлечения / обновления данных в БД. Это в основном класс с методами get (), set (), update (). Было бы неплохо, чтобы ...

Задан 29 Feb 2012, 14:08 от thelolcat
  • 7 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Уничтожены ли местные жители до или после вычисления возвращаемого значения функции?

Я думаю о создании класса, который представляетвладение примитива синхронизации, что-то вроде этого: class CCriticalSectionLock { public: CCriticalSectionLock( CCriticalSection &cs ) : cs( cs ) { cs.Enter(); } ~CCriticalSectionLock() { ...

Задан 27 Sep 2013, 08:51 от Kevin
  • 0 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Ошибка отладочного утверждения BLOCK_TYPE_IS_VALID (pHead-> nblockuse) из деконструктора

Я совершенно потерян прямо сейчас. Я сделал векторный класс. Все работает так, как мне бы хотелось, чтобы все работало, до конца. Когда вызывается деструктор, я получаю сообщение об ошибке: Ошибка отладки BLOCK_TYPE_IS_VALID (pHead-> nblockuse). ...

Задан 11 Dec 2012, 02:31 от SirRupertIII
  • 40 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Как написать простой класс на C ++?

Я читал много учебников по классу C ++, но они упускают то, что есть в других учебниках. Может кто-нибудь показать мне, как написать и использовать очень простой класс C ++, который использует видимость, методы и простой конструктор и деструктор?

Задан 14 May 2009, 21:34 от Babiker
  • 16 голосов
  • 16 ответов
  • 0 просмотров
16 ответов

Почему именно второй раз вызывает деструктор неопределенное поведение в C ++?

Как уже упоминалось вэтот ответ простой вызов деструктора во второй раз - уже неопределенное поведение 12.4 / 14 (3.8).Например:

Задан 05 May 2010, 08:26 от sharptooth
  • 64 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Почему в .NET нет RAII?

Будучи в первую очередь разработчиком C ++, отсутствиеRAII (приобретение ресурсов является инициализацией) [http://en.wikipedia.org/wiki/Resource_acquisition_is_initialization]в Java и .NET меня всегда беспокоило. Тот факт, что ответственность за ...

Задан 06 Oct 2008, 09:25 от Motti
  • 7 голосов
  • 8 ответов
  • 0 просмотров
8 ответов

Можно ли использовать «удалить это» для удаления текущего объекта?

Я пишу связанный список и хочу, чтобы деструктор структуры (структура Node) просто удалил сам себя и не имел побочных эффектов. Я хочу, чтобы деструктор моего списка итеративно вызывал деструктор Node сам по себе (временно сохраняя следующий ...

Задан 11 Aug 2009, 01:26 от jkeys
  • 2 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Удаление производных классов в контейнерах std :: unique_ptr <Base>

Я немного запутался. По сути, у меня есть 2 разных менеджера ресурсов (AudioLibrary и VideoLibrary), которые оба наследуют от общего класса BaseLibrary. Этот...

Задан 05 Jun 2014, 12:40 от Gazoo
  • 11 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Когда я убиваю pThread в C ++, вызывается ли деструктор объектов в стеках?

Я пишу многопоточную программу C ++. Я планирую убивать темы. Тем не менее, я также использую рефконт GC. Мне интересно, если объекты, расположенные в стеке,...

Задан 29 Jan 2010, 15:51 от anon
Page 1 of 4
1 2 3 4