|
|
Другие темы раздела | |
C++ visual c++, как сделать форму невидемой
https://www.cyberforum.ru/ cpp-beginners/ thread633369.html помогите, как в Visual Studio 2005 С++, сделать программу невидимой? |
C++ Почему, С++ ругается на контруктор? Почему у меня С++, ругается на контруктор вектора - vec3(const vec3 v) ??? typedef struct vec3 { union { float v; struct { float x; |
C++ Композиционная связь между шаблонами. работа дестракторов Есть например такой проект. Вопросы в следующем. Как происходит процесс работы дестрактора между этими классами ? Правильно ли я реализовал Дестрактор в шаблоне Стек??? Т.к. Стек юзает данные из шаблона Array можно ли вообще оставить имплементацию его (стека ) дестрактора пустую ??? // https://www.cyberforum.ru/ cpp-beginners/ thread633356.html |
C++ В заголовоке окна кракозябры, да и на компонентах тоже
https://www.cyberforum.ru/ cpp-beginners/ thread633353.html Начал работу с примерами с firststep для MFC Столкнулся с проблеммой: Английский заголовок окна выводится на китайском. Как сделать английский? Система: Windows 7 SP 1 по русски. #include "afxwin.h" // MFC Основные и стандартные компоненты |
C++ Ошибка в коде класс big нужен для хранения чисел в двоичном виде #include <iostream> using namespace std; class big { public: bool digit; |
C++ Templates. (concrete inheritance). question to destructor implementation
https://www.cyberforum.ru/ cpp-beginners/ thread633347.html Есть вот такой вот проект. Идея в том том что конкретный класс наследуется от темплейта. Как в таком случае ПРАВИЛЬНО + ГРАМОТНО реализовать дестрактор у конкретного класса ??? PointArray::PointArray(int size) : Array<Point>(size) { } PointArray::~PointArray() |
C++ Составить правило
https://www.cyberforum.ru/ cpp-beginners/ thread633343.html как правильно составить условие для If выдать сообщения если введены не цифры |
string и функция _itow C++ Всем привет! Ребята, не могу понять как мне использовать string и функцию _itow Вот код wstring positionclient = _itow( findclient.inumberhome,positionclient.c_str(),10 ); Пробовал использовать вот так, тоже не получается |
C++ Виртуальные фукнции
https://www.cyberforum.ru/ cpp-beginners/ thread633297.html Здравствуйте, уважаемые форумчане! Не получается реализовать следующее: Есть базовый класс Array с полями: массив типа unsigned char и поле для хранения количества элементов у текущего объекта-массива. Реализовать в классе Array виртуальную функцию поэлементного сложения массивов. Теперь дочерние классы: Класс Hex содержит число в шестнадцатеричной системе исчисления, при этом оно вводится в... |
C++ Опять про реализацию класса в отдельном файле
https://www.cyberforum.ru/ cpp-beginners/ thread633295.html Допустимо ли следующее? есть проект в Visual Studio 2010. в нем следующие файлы: main.cpp - собссно программа MyClass.h - интерфейс класса MyClass MyClass.cpp - реализация класса MyClass MySubClass.h - интерфейс класса MySubClass (производного от MyClass) MySubClass.cpp - реализация класса MySubClass |
Размер вектора и вывод элементов C++ Объясните почему в функции print размер передаваемого вектора v.size()=0? Соответсвенно не работает цикл for в print(). #include <iostream> #include <vector> using namespace std; void print(vector<int> v, string s) { cout << s << '\n'; cout << v.size() << '\n'; |
C++ Деление числа на разряды Дан массив из n натуральных четырёхзначных чисел. Вывести на экран только те, у которых сумма первых двух цифр равна сумме двух последних. Собственно сам вопрос, как разделить четырёхзначное число на тысячи, сотни, десятки и единицы? Пытался брать остаток от деление, например: 1734 % 10, но так получится отделить только единицы, а мне надо что бы число разложилось на 1, 7, 3 и 4. https://www.cyberforum.ru/ cpp-beginners/ thread633272.html |
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
05.08.2012, 22:33 | 0 |
delete this - C++ - Ответ 333197605.08.2012, 22:33. Показов 3063. Ответов 4
Метки (Все метки)
Ответ
Последствий заведомо не будет только в том случае, если одновременно а) в функции-члене после delete this не производится никаких действий с объектом; б) на вызывающей стороне не производится никаких дальнейших действий с объектом; и в) если на вызывающей стороне этот объект не уничтожается (то есть, он должен быть создан через new без парного delete).
Возможные последствия такого баловства: - попытка проведения операций с уже уничтоженным объектом и, более узко - попытка повторного удаления уже удалённого объекта (вызов деструктора на уже уничтоженном объекте) Эти два пункта могут остаться без последствий, могут привести к аварийному завершению программы, если страница памяти, в которой был объект, освободилась, или к непредсказуемым последствиям (порча неизвестно каких данных), если этот участок памяти был снова выделен программе уже под другой объект. Дополнительно, эффекты работы с уничтоженным/переписанным объектом зависят от реализации самого класса и могут варьироваться от "без последствий" до аварийных завершений или происходящей "втихаря" порчи содержимого памяти в произвольном месте (то есть, любая переменная, массив, объект, возможно даже участки программного кода). - попытка повторного освобождения уже освобождённой памяти (может игнорироваться) В общем, потенциальный геморрой настолько богат и разнообразен, что обещает множество увлекательных часов, проведённых за отладкой и отчаянным вырыванием на себе волос. Вернуться к обсуждению: delete this C++
2
|
05.08.2012, 22:33 | |
Готовые ответы и решения:
4
Используя delete по указателю, возвращенному new [] или delete [] указателем, возвращаемым new Какая разница между delete и delete[] В чем разница между delete и delete[]? Чем отличается delete[] от delete? |
05.08.2012, 22:33 | |
05.08.2012, 22:33 | |
Помогаю со студенческими работами здесь
0
Delete или delete [] delete[] *pointer vs. delete pointer и утечка памяти "delete [] a, b;" эквивалентно "delete [] a; delete [] b;"? new и delete |