|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
Как запомнить тип данных, потом по запомненному типу создать объект?17.01.2022, 13:40. Показов 2192. Ответов 23
Метки нет (Все метки)
0
|
|
| 17.01.2022, 13:40 | |
|
Ответы с готовыми решениями:
23
Получить адрес на переменную\объект, потом от этого адреса создать указатель на объект и изменить значение. Как?
|
|
фрилансер
6460 / 5662 / 1130
Регистрация: 11.10.2019
Сообщений: 15,078
|
|
| 17.01.2022, 13:46 | |
|
pgb, дать типу имя (текстовое или численное). Или использовать заполненный экземпляр std::variant
0
|
|
|
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
|
|
| 17.01.2022, 14:34 | |
|
Может свитчем? Правда придется все варианты пересмотреть.
0
|
|
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||
| 17.01.2022, 15:06 [ТС] | |||
|
Думаю может сделать шаблонную функцию которая будет создавать объект new TYPE, запоминать указатель на эту функцию, а потом вызывать при необходимости. Экспериментирую пока.
0
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||||
| 17.01.2022, 15:49 | ||||||
1
|
||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
| 17.01.2022, 16:00 [ТС] | |
|
0
|
|
|
|
|
| 17.01.2022, 16:02 | |
|
pgb, в 10 раз повторяю автору, что он выбрал не тот язык для динамического превращения типов данных и мета-информации о типах.
Вот зачем тебе именно С++, автор? Чем тебе в PHP, Python, JavaScript, C#, (не в курсе как там в Ruby, Lisp но вроде подходят) программирование с динамическими типами не угодило? Зачем забивать гвозди микроскопом? Твои вопросы Как запомнить тип данных, потом по запомненному типу создать объект? Динамическое создание и удаление объекта Проверить есть ли метод в объекте Как определить подключен ли namespace Макрос добавления значений Указатель преобразовать в объект Вложенные шаблоны под определённый тип отлично решаются в интерпретируемых языках. Зачем зацикливаться на С++? Единственный язык программирования что ли?
0
|
|
|
фрилансер
6460 / 5662 / 1130
Регистрация: 11.10.2019
Сообщений: 15,078
|
|||||||
| 17.01.2022, 17:05 | |||||||
Это же банальный using:
0
|
|||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||||||||
| 17.01.2022, 18:40 [ТС] | ||||||||
|
Мне нужен не шаблонный класс который может присвоить и потом возвратить любой объект.
0
|
||||||||
|
фрилансер
6460 / 5662 / 1130
Регистрация: 11.10.2019
Сообщений: 15,078
|
||
| 17.01.2022, 18:58 | ||
|
если тип разный, то это шаблон. (Либо динамический полиморфизм, что в данном случае не очень вариант) чтобы отличать типы друг от друга, им нужно дать строковое имя или числовой индекс. Строка - это накладно. А для индекса уже есть готовый класс std::variant (всё равно пришлось бы городить его функциональность вручную). Все нужные типы, конечно, придётся перечислить через запятую
0
|
||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
| 17.01.2022, 19:44 [ТС] | |
|
Я сделал класс DIFFERENT это пользовательский тип который может присваивать любое значение любого стандартного типа и возвращать соответственно, при уничтожении он за собой чистит память. Но когда я присваиваю ему объект возникает проблема чистки памяти.
В принципе уже решил проблему. Сейчас приведу код в порядок, начну решать другую задачу. Всем спасибо кто помогал.
0
|
|
|
фрилансер
6460 / 5662 / 1130
Регистрация: 11.10.2019
Сообщений: 15,078
|
||
| 17.01.2022, 19:53 | ||
|
pgb,
второй момент - выделение памяти под экземпляры типов не требуется, можно хранить указатели на типы
0
|
||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
| 17.01.2022, 20:46 [ТС] | |
|
0
|
|
|
фрилансер
6460 / 5662 / 1130
Регистрация: 11.10.2019
Сообщений: 15,078
|
||||||
| 17.01.2022, 20:50 | ||||||
|
pgb,
0
|
||||||
|
Неэпический
|
|
| 17.01.2022, 20:51 | |
|
1
|
|
|
фрилансер
6460 / 5662 / 1130
Регистрация: 11.10.2019
Сообщений: 15,078
|
||||||
| 17.01.2022, 21:19 | ||||||
|
pgb, вот, накидал пример, если интересно https://onlinegdb.com/DmnRC-N00
1
|
||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
| 17.01.2022, 21:58 [ТС] | |
|
Алексей1153, Спасибо, может пригодится.
0
|
|
|
|
|
| 18.01.2022, 10:28 | |
|
pgb, зачем тебе именно С++?
0
|
|
|
14293 / 9378 / 1352
Регистрация: 21.01.2016
Сообщений: 35,360
|
|
| 18.01.2022, 10:43 | |
|
Kuzia domovenok, пускай лучше в вашей ветке тусит. У нас (в .NET) есть Его Правительские Звания. Нам хватает.
0
|
|
| 18.01.2022, 10:43 | |
|
Помогаю со студенческими работами здесь
20
Создать объект, который мог бы принимать в себя любой тип данных
Как запомнить объект?
Тип данных аналогичный типу long из Microsoft Access Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|