Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество чисел в массиве типа char http://www.cyberforum.ru/cpp-beginners/thread1303976.html
задание полностью стоит следующее: в массиве типа char вывести только те слова, которые состоят из латинских букв и вывести количество чисел в массиве, если такие имеются. Числе, не цифр!...
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; //визначення перелічуваного типу...
Обработка двумерного массива: найти количество строк и номер столбца по условию 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>... подробнее

Показать сообщение отдельно
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
23.11.2014, 03:04
Цитата Сообщение от hoggy Посмотреть сообщение
Не интересно.
Т.е. хабрахабр - это авторитетный источник, а stackoverflow.com - нет?

Цитата Сообщение от hoggy Посмотреть сообщение
Если вам это интересно, то вы можете попробовать загуглить на хабре.
Если речь про эту статью, то она как бы немного о другом.

Цитата Сообщение от hoggy Посмотреть сообщение
Потому что этот запрет следует из двух положений:
1) 9.3.2/1 In the body of a nonstatic (9.3) member function, the keyword this is a non-lvalue expression whose value is the address of the object for which the function is called.
2) не существует объектов с адресом 0.
Какая связь между использованием delete this и сравнением this с нулем?

В общем, как понимать эту фразу?
Цитата Сообщение от hoggy Посмотреть сообщение
this должен быть валиден.
И при чем тут рассуждения на тему сравнения this с нулем? Насчет этой темы вопросов вообще нет, я полностью согласен. Но нельзя доказывать одно, приводя примеры из другой оперы.

Да, в определенных ситуациях, delete this может привести к последующему UB:
1) Вызов из деструктора.
2) Вызов метода или обращение к данным следом за delete this.
В иных случаях оно к UB, увы, не приводит.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru