|
|
||||||||||||||||
Ошибки во время работы деструкторов07.03.2019, 18:14. Показов 3644. Ответов 47
Здравствуйте. Я давно не писал на плюсах, поэтому мог подзабыть как работать с указателями.
В общем есть 2 класса. Первый хранит массив и его параметры
0
|
||||||||||||||||
| 07.03.2019, 18:14 | |
|
Ответы с готовыми решениями:
47
Ошибки в программе с использованием конструкторов/деструкторов Ошибки во время работы Стали выпадать ошибки разных приложений во время работы |
|
|
|
| 08.03.2019, 10:28 [ТС] | |
|
_stanislav, мне почему-то казалось, что удаление nullptr через delete[] вызовет критическую ошибку.
L0M, я плюсы в свое время учил по Страуструпу, он еще изощреннее поступал, обращаясь не через this, а через ClassName::var;
0
|
|
|
"C with Classes"
|
|
| 08.03.2019, 16:31 | |
|
0
|
|
|
|
|||||||||||||||||
| 16.03.2019, 13:32 [ТС] | |||||||||||||||||
|
L0M, вот как сейчас помню, он таким способом точно пользовался, чтобы инициализировать переменные в конструкторе, задавая параметры конструктора с такими же именами, как и переменные класса.
Решил, все таки, ограничиться минимумом указателей и написать свой класс вектора, частично который я позаимствовал из описанных примеров на этом форуме. Но на этом мои проблемы полностью не решились и я все так же испытываю трудности с деструкторами. Я раньше предполагал, что если параметры функции не передавать по указателю или адресу, то они должны копироваться и создавать временные переменные пока работают функций, однако сейчас я в этом засомневался. Основная проблема заключается в том, что когда мой объект Word пройдет сквозь несколько функций, даже если его передавать как const, при выходе из функций полностью ломается ссылаясь на не инициализированные данные. Проходит вот такая последовательность команд
0
|
|||||||||||||||||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|
| 16.03.2019, 13:42 | |
|
Gubila_2000, скорее всего накосячил с конструктором копирования или с копирующим присваиванием, и у тебя delete дважды по одному адресу
0
|
|
|
|
|||||||||||
| 16.03.2019, 13:47 [ТС] | |||||||||||
|
zayats80888, меня больше возмущает тот факт, что я переменную типа Word отравляю в функцию как константу, а она возвращается оттуда поломанной, несмотря на то, что в функциях выше по вложенности она вполне успешно копировалась.
вот ее оператор копирования
0
|
|||||||||||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
||
| 16.03.2019, 13:57 | ||
|
покажи реализацию Word(const Word&)
Добавлено через 3 минуты Добавлено через 1 минуту вот в векторе правильно
0
|
||
|
|
|||||||||||
| 16.03.2019, 13:59 [ТС] | |||||||||||
|
zayats80888,
забыл еще вот это показать
0
|
|||||||||||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|||
| 16.03.2019, 14:07 | |||
|
0
|
|||
|
|
||
| 16.03.2019, 14:09 [ТС] | ||
|
Так. не, оператор коперирования вектора я тот же самый скинул, не ищите различия. Внутри копирования Word должен срабатывать оператор копирования Vec, я это хотел сказать
Добавлено через 1 минуту
0
|
||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
||||||
| 16.03.2019, 14:21 | ||||||
|
ну или так
0
|
||||||
|
|
|
| 16.03.2019, 14:28 [ТС] | |
|
Снял со всех объектов указатели и теперь крашится деструктор Vec.
0
|
|
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|
| 16.03.2019, 14:30 | |
|
реализацию класса vec в студию
0
|
|
|
|
||||||
| 16.03.2019, 14:31 [ТС] | ||||||
|
Вот его полный код
0
|
||||||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|
| 16.03.2019, 14:58 | |
|
я не тестил, но вроде норм все(единственно что в копировании принято возвращать ссылку, но то такое)
Добавлено через 9 минут давай следующий по иерархии модуль
0
|
|
|
|
|||||||||||
| 16.03.2019, 15:33 [ТС] | |||||||||||
|
zayats80888,
0
|
|||||||||||
|
Неэпический
|
||||||||
| 16.03.2019, 15:47 | ||||||||
0
|
||||||||
|
|
||
| 16.03.2019, 16:10 [ТС] | ||
|
0
|
||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|
| 16.03.2019, 16:15 | |
|
реализация Word:
стр. 46, стр. 227 - убрать стр. 181 - зачем там выделение памяти? и передавать крупные структуры лучше по ссылке или константной ссылке
1
|
|
| 16.03.2019, 16:15 | |
|
Ноутбук все время виснет,завершение работы, не отвечает, ошибки выдает На моем компе во время установки игры часто возникают ошибки, зависания и ошибки копирования файлов с установочного диска. Посчитать время события - время работы кассиров (система массового обслуживания) Выводить текущее время в определенные позиции консоли во время работы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|