Форум программистов, компьютерный форум CyberForum.ru

Можно ли удалить объект экземпляра класса из самого себя? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество чисел в массиве типа char http://www.cyberforum.ru/cpp-beginners/thread1303976.html
задание полностью стоит следующее: в массиве типа char вывести только те слова, которые состоят из латинских букв и вывести количество чисел в массиве, если такие имеются. Числе, не цифр! #include<iostream> #include<string.h> #include <stdlib.h> using namespace std; int main() { char text;//ñòðîêà
C++ Удалить элементы главной диагонали Удалить элементы главной диагонали Почему не работает? for (i=0; i<n; i++) for (j=0; j<m-1; j++) if (i=j) for (i=j; i<n-1; i++) mas=mas; cout<<"our array\n"; http://www.cyberforum.ru/cpp-beginners/thread1303975.html
Создание, просмотр и удаление элементов списка, организованного по принципу LIFO C++
Что делать? Программа просит идентификатор true, false. #include "stdafx.h" #include <iostream> #include <process.h> #include <conio.h> using namespace std; //визначення перелічуваного типу користувача boolean enum boolean(true, false); //визначення шаблону елемента списку за допомогою типу struct struct stack{
Обработка двумерного массива: найти количество строк и номер столбца по условию C++
#include <iostream> #include <iomanip> using namespace std; const int N=20; const int M=20; int main() { double a;
C++ Подскажите.Как вывести N-ую строку или столбец из матрицы? http://www.cyberforum.ru/cpp-beginners/thread1303921.html
Подскажите.Как вывести N-ую строку или столбец из матрицы?
C++ Ошибка "stack around the variable 'n' was corrupted." Есть такая программа. Натуральные числа от 0 до n(a0-an) Необходимо найту сумму всех чисел кратных 5. Выдает ошибку stack around the variable 'n' was corrupted. Почему? #include <clocale> #include <cstdio> int main(){ setlocale(LC_ALL, "Russian"); int n, a, sum=0; printf("введите n"); подробнее

Показать сообщение отдельно
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
19.11.2014, 18:56     Можно ли удалить объект экземпляра класса из самого себя?
Цитата Сообщение от -THE_MASTER666- Посмотреть сообщение
DLL-ка вызвала deleter или EXE?
Вот смотри сюда.
Смотри 337 строку. Видишь там delete?
Этот файл будет независимо вкомпилен и в dll и в exe при использовании QSharedPtr. Все хорошо пока exe и dll делят общий runtime, а если нет, или же это разные компиляторы (версии), либо разные настройки (debug\release и т.п.), то это будут разные delete.
Решить проблему с разными runtime можно используя custom deleter у QSharedPtr (см. тут), но это все равно не решит проблему разных ABI, если кто-то захочет твою dll, написанную, скажем, в MinGW использовать в VS. Но эта проблема более комплексная, т.к. затрагивает и Qt (у нее весь интерфейс на С++, а значит версия Qt для VS в любом случае не подойдет для MinGW).

Добавлено через 51 секунду
Цитата Сообщение от -THE_MASTER666- Посмотреть сообщение
То есть нельзя терять указатель на QSharedPointer<MyObject> в DLL? Но какой тогда в нём толк ититская тонна ?
Можно терять, если внутри сохраняется указатель на правильную удаляющую функцию.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru