Форум программистов, компьютерный форум 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"); подробнее

Показать сообщение отдельно
-THE_MASTER666-
Заблокирован
19.11.2014, 18:39  [ТС]     Можно ли удалить объект экземпляра класса из самого себя?
Цитата Сообщение от DrOffset Посмотреть сообщение
Если ты не собираешься менять компилятор или передавать кому-то свою dll в скомпилированном виде, то можешь действительно на это забить и писать как писал.
Как раз собираюсь.
Так в чём тут подвох - то?
Вот создал я объект QSharedPointer в одной DLL и инициализировал его каким - то объектом:
C++
1
QSharedPointer<MyObject> so(new MyObject);
Функция, где был создан этот объект возвращает QSharedPointer<MyObject>:
C++
1
QSharedPointer<MyObject> GetData();
Я его создал и вернул, то есть return so; - то есть объект QSharedPointer скопировался, а вызывал я эту ГЕТ ДАТА их ЕХЕ, то там у меня:
C++
1
QSharedPointer<MyObject> exe_SO = module->GetData();
, после выхода за SCOPE, объект удалился. Вроде всё тип топ, но кто его удалил и из какого контекста? DLL-ка вызвала deleter или EXE?

Добавлено через 2 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
Можно(*), если deleter будет из той же dll, где выделяли память под объект.
Или имеется ввиду, что если я создал QSharedPointer<MyObject> в DLL и потерял на QSharedPointer<MyObject> указатель, выйдя из функции создания, но успел передать его в ЕХЕ и когда в ЕХЕ я выйду за SCOPE, то удалит его ЕХЕ, а не DLL и так нельзя? То есть нельзя терять указатель на QSharedPointer<MyObject> в DLL? Но какой тогда в нём толк ититская тонна ?
 
Текущее время: 04:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru