Я заметил различие в поведении для деструктора gcc при компиляции в соответствии с Linux и кросс-компиляции с mingw. На Linux не назовут деструктор, если программа не будет обычно завершаться...
Предположим, что я имею: пустое нечто () {статическая панель Панели;} Делает C++, гарантируют мне что Панель:: Панель () называют на панели и Панели:: ~Bar () никогда не называют на панели? (Пока основные выходы). Спасибо!
Разделите 10.13, Деструкторы, Спецификации языка 3.0 C# указывает следующее: Деструкторы не наследованы. Таким образом класс не имеет никаких деструкторов кроме того, который может быть объявлен в...
Я приношу извинения заранее; это - долгий вопрос. Я попытался упростить столько, сколько я могу, но это еще более многоречиво, чем я хотел бы видеть. В некотором унаследованном коде у нас есть набор VB6...
Я думал, что, когда функция возвращает объект на стеке к функции вызова, функция вызова получает копию исходного объекта, но деструктор исходного объекта называют как...
Здесь http://www.parashift.com/c++-faq-lite/multiple-inheritance.html раздел [25.14] говорит. Самыми первыми выполняемыми конструкторами являются виртуальные базовые классы в любом месте иерархии. Я ...
У меня есть код: std :: list lst;
// ....
Узел * узел = / * получить откуда-то указатель на мой узел * /;
lst.remove (узел); Вызывает ли метод std :: list :: remove деструктор (и бесплатно ...
У меня есть некоторый опыт работы с Java, и я новичок в C ++. ниже мой код, его вывод: 0 1 2 3 4 5 6 7 8 9
деструктор --- s1
8791616 8785704 2
destructor --- s1 Я ожидал следующего результата: 0 1 ...
Я не хочу переписывать деструктор класса как виртуальный, потому что у него нет подклассов, нет виртуальных функций и не должно быть. Я не мог избежать этого, потому что память ...
Я запустил этот код, и неожиданно были вызваны конструкторы копирования и деструкторы для уже добавленных элементов в векторе. Добавление только одного элемента в вектор дает результат, который я ...
У меня есть простой код C ++, но я не знаю, как использовать деструктор: class date {public: int day; дата (int m) {день = m; } ~ date () {cout << "Я хочу, чтобы у вас был ...
В C++, если конструктор выдает исключение, какие деструкторы запускаются? В частности, имеет ли какое-то значение, возникает ли исключение во время списка инициализации или тела? Кроме того, как насчет...
В C ++, когда объект определяется как «вне области видимости»? Более конкретно, если бы у меня был односвязный список, что бы определить один объект узла списка как «вне области видимости»? Или если объект существует и ...
Насколько я знаю (а это очень мало), есть два способа: $ var = new object () Then: // Метод 1: Установить значение null
$ var = null;
// Способ 2: Отменить unset ($ var); Другой лучший способ? Я ...
Я экспериментировал с деструкторами в C++ с помощью этого фрагмента кода :#. включить временную структуру { ~temp (){ std ::cout << "Привет!" << станд ::endl; } }; внутренний основной (){ темп...
Возможный дубликат: что такое разница между созданием объекта с использованием new и без. Это, вероятно, основной вопрос, который, возможно, уже задавался (скажем, здесь); но я все еще не ...
Mr. Мы с Лидстремом поспорили :) Г-н Лидстрём утверждает, что конструкция shared_ptr p (new Derived); не требует, чтобы у Base был виртуальный деструктор: Армен Цирунян: «Правда? ...
Я разобрал простую программу, написанную на C ++, и есть эти два имени функций. Я предполагаю, что ctor означает конструктор, а dtor означает деструктор, а слово global может означать, что они создают и ...
Я читал это, в котором упоминаются деструкторы как тривиальные и нетривиальные. Класс имеет нетривиальный деструктор, если он либо имеет явно определенный деструктор, либо если у него есть объект-член ...
Я не знаю, будет ли этот вопрос ясен, так как я не могу дать слишком много деталей (Я использую TPL и сам написал огромное количество строк ). Но я попробую. Я испытываю...
Удаляет ли Qt автоматически связи между объектами при удалении одной из сторон? например, connect (A .. , B ..) , когда A (указатель) удаляется или B удаляется, будет ли соединение ...
char * buf = new char [sizeof (T)];
новый (buf) T;
Т * т = (Т *) буф;
//код...
// здесь я должен уничтожить * t, но поскольку это аргумент шаблона и может быть
// также создается через базовые типы (например, int), поэтому ...
Возможные дубликаты: При каких обстоятельствах выгодно давать реализацию чисто виртуальной функции? Зачем нам нужен чистый виртуальный деструктор в C ++? Компилятор не заставляет ...
Этот ответ цитирует C++11 Standard 3.8: если нет явного вызова деструктора или если для освобождения хранилища не используется выражение удаления (5.3.5), деструктор не должен быть неявно...
Возможный дубликат: порядок уничтожения элементов контейнера STL Есть ли гарантия, что элементы std :: vector будут уничтожены от последнего к первому?
У меня есть утечка кода в Windows. Он отлично работает на многих платформах unix, и утечка происходит только в Windows.
Бинарный файл состоит из exe, 1 dll и 2 статических библиотек. EXE связывает обе библиотеки с dll ...
Возможный дубликат: Почему деструктор не вызывается для возвращаемого экземпляра объект из функции? Я написал код на C++ (см. ниже), скомпилировал его с помощью GCC 4.6, и он успешно запустился. Но я не знаю...
Comeau, g ++ (ideone) и EDG принимают следующий код без диагностики. Visual C ++ успешно компилируется, хотя и с предупреждением C4624. класс indestructible_base
{~ нерушимая_база ();
}; ...
Когда именно объекты уничтожаются в C ++ и что это означает? Придется ли мне уничтожать их вручную, ведь сборщика мусора нет? Как в игру вступают исключения? (Примечание: это предназначено для ...
Этот вопрос можно считать продолжением следующего вопроса: время жизни временных переменных C++. Контейнеры Qt поддерживают синтаксис инициализации, подобный потоковому. Теперь, когда я пишу следующее...