|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|||||||||||
Delete void* p = new classobject();18.10.2013, 21:21. Показов 3628. Ответов 47
Метки нет (Все метки)
Всем доброго вечера! Возник вопрос, подскажите пожалуйста. Допустим:
Добавлено через 2 часа 1 минуту То есть в таком случае всегда необходимо удалять после приведения типа
0
|
|||||||||||
| 18.10.2013, 21:21 | |
|
Ответы с готовыми решениями:
47
Delete void* error C2440: 'delete' : cannot convert from 'Song' to 'void *' |
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
| 19.10.2013, 00:23 [ТС] | |
|
ValeryS, Это если пользовательские типы позволяют объединение в иерархию. А у меня в качестве данных может быть любой тип: встроенный тип, разные не связанные между собою наследованием классы
Добавлено через 4 минуты castaway, изначально в начале поста, был описан класс. И там же информация о типе хранится как enum К концу поста пришли к тому что нужно, это как то это улучшить, с помощью шаблонов.
0
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 19.10.2013, 00:26 | |
|
Я так понимаю, что кто-то хочет сделать type-erasure и прийти к boost.any ?
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||||||
| 19.10.2013, 00:27 | |||||||
|
типа такого
0
|
|||||||
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||
| 19.10.2013, 00:33 [ТС] | ||
|
Jupiter, Будьте так любезны перефразируйте свою фразу еще раз
Если вы имели ввиду создание иерархия для хранения объектов типов этой иерархии то это не подходящий вариант. Так как контейнер должен хранить не связанные между собой наследованием типы. Добавлено через 22 секунды ct0r, да boost/any Добавлено через 4 минуты ValeryS,Из за наличия одних только вирт. ф-й он будет занимать 4 байта. И не понятно как это поможет связать встроенные типы(int, double,float ) и разные польз. типы.
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 19.10.2013, 00:33 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
| 19.10.2013, 00:36 [ТС] | |
|
ValeryS, какой то рабский труд получится
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||
| 19.10.2013, 00:41 | |||
|
зависит от разрядности а иначе никак, по моему посмотри как это сделали в Qt или cli все что не ихние типы.не поддерживается в полном объеме, например нет автоматического удаления может тебе переписать new\ delete
0
|
|||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
| 19.10.2013, 00:48 | |
|
Да в целом понятно, как все внутри устроено. Когда делаем присваивание переменной any значения переменной типа Т, то создается некий holder<T>, который наследник от некого общего базового класса. У него есть виртуальные функции для получения type_info. А при присваивании обратно просто идет сравнение typeid(T) c сохраненным type_info. Чтобы влезть в детали, надо почитать исходники.
0
|
|
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
| 19.10.2013, 00:49 [ТС] | |
|
ValeryS, а как в Qt называется подобный контейнер ?
Добавлено через 1 минуту ct0r, С утра почитаю на свежую голову. Всем спокойной ночи !
0
|
|
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 19.10.2013, 01:07 | ||
|
Добавлено через 3 минуты Кстати, класс-обертку логично было бы сделать шаблонным. Подробно данная махинация рассматривается у Мейерса в книге "Эффективное использование С++. 50 рекомендаций ..." в правиле 42. Помню меня при прочтении этот прием очень сильно впечатлил
0
|
||
| 19.10.2013, 01:08 | |
|
0
|
|
| 19.10.2013, 01:13 | |
|
0
|
|
| 19.10.2013, 01:16 | |
|
0
|
|
| 19.10.2013, 01:16 | |
|
0
|
|
| 19.10.2013, 01:18 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
| 19.10.2013, 16:36 [ТС] | ||||||
|
Jupiter, MrGluck, Вот простенький вариант, минимум кода, для общего представления. Подскажыте как реализовать вирт. функцию что будет возвращать данные элемента(узла).
0
|
||||||
|
Каратель
|
||
| 19.10.2013, 16:51 | ||
|
как этот список будет использоватся, в том числе и эта "вирт. функцию что будет возвращать данные элемента(узла)" ??
0
|
||
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
| 19.10.2013, 17:11 [ТС] | |
|
Jupiter, Я уже давно ушел от конкретного задания. И в посте пишу о реализации контейнера с разными типами элементов. Следуя вашему совету привел в последнем сообщении код реализующий это. Теперь проблема стоит в необходимости расширения функционала контейнера. Необходимо как то получать данные любого из элементов. Как видите комментариями помечена вирт. ф-я возвращающая значение, но она работать не будет
0
|
|
|
Каратель
|
||||||
| 19.10.2013, 17:21 | ||||||
|
ArkTaS, повторяю вопрос - как ты будешь использовать эту функцию?
0
|
||||||
| 19.10.2013, 17:21 | |
|
Void menu(void); что это ? почему не void menu(); delete void* Функция void delete". Требуется идентификатор Ошибка E2044 - operator delete must return void Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|