|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
в классе создаётся объект оператором new, как его удалить после использования в основной программе? delete в вызывающей функции не вариант!26.06.2011, 22:40. Показов 6205. Ответов 55
Метки нет (Все метки)
Собсно
0
|
||||||
| 26.06.2011, 22:40 | |
|
Ответы с готовыми решениями:
55
Проверить на наличие вирусов после использования программы не вызывающей доверия Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||
| 27.06.2011, 01:45 [ТС] | |||||||
Вот это путаница. И не по названию, а по сути. И если она появилась вследствие оптимизации, то грош последней цена. Вот, наверное, потому я и отключаю её.
0
|
|||||||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|||
| 27.06.2011, 01:57 | |||
|
Добавлено через 1 минуту
0
|
|||
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|||||||||||
| 27.06.2011, 04:38 | |||||||||||
012015ED вызывается конструктор копирования* 01201608 вызывается деструктор для автоматического объекта теперь в стеке находится объект А и управление возращается в main
* Я изменил программу, добавив явный конструктор копирования
0
|
|||||||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 27.06.2011, 06:29 | ||
|
1
|
||
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|
| 27.06.2011, 07:33 | |
|
В дебаг версии VS 2008 копирует, потом уничтожает а. В коде мейн уничтожает копию. В релиз версии он тупо выводит строки cout-ом, никаких объектов А, копий и деструкторов...
mingw дебаг версии действительно не копирует даже
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 27.06.2011, 16:26 [ТС] | ||
|
0
|
||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 27.06.2011, 16:28 | |
|
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 27.06.2011, 16:45 [ТС] | ||||||
|
Алё, а при чём тут КК? Я спрашивал, почему объект, автоматичный для main, умер, а функция не закончилась ещё pito211 сказал, что "управление над тем объектом A утеряно и удалил его до выхода из области видимости, что впринципе логично"
А где в этой цитате спрашивал, почем не вызывается КК... и так далее? Добавлено через 11 минут pito211,ну да, я это и имел ввиду.
0
|
||||||
| 27.06.2011, 16:54 | |
|
Как все странно.... Объект класса nemo_ должен удаляться объектом класса xx. Разве что за исключением каких то специализированных случаев когда объект класса xx - всего лишь генератор для объектов класса nemo_. Во втором случае позаботиться об удалении объекта должен тот кто его заказал. Ваш случай похож и в данной реализации вы обязаны освободить память в main (не хотите - переделывайте класс xx в соответствии с условием задачи)
Если же первый случай. В каком методе класса xx будет удаляться объект класса nemo_ неважно. (в т.ч и в деструкторе и в конструкторе). Но объект класса хх должен хранить указатель на объект класса nemo_ Если вас не устраивает такой подход, выберите язык программирования с автоматической сборкой мусора. Добавлено через 6 минут А кажеться дошло о чем вы. Я не совсем в тему ответил похоже
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 27.06.2011, 17:12 [ТС] | ||
|
Ну в общем вывод такой: передаёшь ссыль- позаботься о delete; да всё бы ничё, но её только в main и вызывать; но тут случай, что и не видно, что это ссыль: matrix_ [][] Ладно, остаётся только передавать объект. Как уж я подумаю. Всем спасибо, извините, кого задел.
0
|
||
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|
| 27.06.2011, 17:20 | |
|
странные у тебя запросы(по поводу самого первого листинга). Думаю в полевых условиях такие вещи впринципе городить не придётся
1
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 27.06.2011, 17:36 [ТС] | ||||||
|
Код сырой, можешь сразу посмотреть main
0
|
||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 27.06.2011, 17:46 | |
|
kravam, есть какая-то магия, какие-то дикие запросы на то, чтобы в классе matrix хранить именно двойной указатель, а не массив объектов nemo? Потому что пока это выглядит как извращение и хреновое проектирование. Храни вы массив строк, то вы бы просто из operator[] матрицы возвращали ссылку на строку, а из operator[] строки возвращали элемент строки. Недавно эта тема разжёвывалась же.
Вот.
0
|
|
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|
| 27.06.2011, 17:52 | |
|
зачем интересно нужен конструктор по умолчанию, если он не рабочий спрячь его в приват
Добавлено через 4 минуты лучше перегружать оператор(), а то так ты получается даёшь пользователю поиграться с указателями matrix[]. В терминологии не силён но помоему тут нарушается инкапсуляция или что-то типо того. Но точно что-то из принципов ООП нарушается double temp; в 35 строке неиспользуемая переменная, точнее она только в typeid используется, короче выкинуть её и вобще это всё жуткий быдлокод, весь обплевался пока читал
1
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||
| 27.06.2011, 18:46 [ТС] | |||||||||||
|
Советов я ничьих не спрашивал. Это кстати. Всё, что вы сказали- лишнее, могли бы не говорить. Я слишком ответственно отношусь к любому своему код, чтобы не отвечать за каждую строчку
Специально для тех, кто не увидел: это класс шаблонный, предполагается матрица из ЛЮБЫХ авторских переменных
И да, для каждого авторского класса мне придётся переопределять функции, например vivod и не надо мне об этом говорить. "зачем интересно нужен конструктор по умолчанию, если он не рабочий спрячь его в приват" Он рабочий и он нужен. Как нужен конструктор пустой строки или пустого вектора, ОК? "лучше перегружать оператор(), а то так ты получается даёшь пользователю поиграться с указателями matrix[]" Это ты что предлагаешь? matrix () (); matrix () [] или matrix [] ()? Конгениально, чё могу сказать "В терминологии не силён но помоему тут нарушается инкапсуляция или что-то типо того. Но точно что-то из принципов ООП нарушается"" тьфу "и вобще это всё жуткий быдлокод, весь обплевался пока читал " тебя никто об этом не просил, надо было- посмотрел бы только то, что я сказал посмотреть, сказано было- код сырой.
0
|
|||||||||||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 27.06.2011, 18:49 | |
|
Хочется только немного слов сказать в защиту прокси-объектов. Никакие принципы ООП они при правильной реализации не нарушают. И иногда это единственный из удобных способов получить желаемое. В данном случае не единственный, но вполне возможный.
1
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 27.06.2011, 18:50 | |
|
kravam, во-первых, я не давал повода так со мной разговаривать. Во-вторых, про строки (string или char*) речи не шло. И что, что класс шаблонный? Гляньте код по ссылке, сделайте классы Row и Matrix шаблонными и живите счастливо.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 27.06.2011, 18:51 [ТС] | |
|
В данном случае, например.
И вообще скропайте перегрузку оператора [][] по-другому, предполагая, что элемент матрицы- элемент любого типа, тогда и будете базлать. Пока же всем вашим замечаниям в базарный день красная цена копейка.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|||||||
| 27.06.2011, 18:55 | |||||||
0
|
|||||||
|
Новые блоги и статьи
|
|||
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|