Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2017, 14:51   #1
Андрей Цапко
Пользователь
 
Регистрация: 10.04.2017
Сообщений: 66
По умолчанию Как создать ссылку не указывая тип.

Здравствуйте. Есть вопрос... Я хочу сделать что-то на подобии
Код:
void *obj;
.
Мне надо выделить 8 байт в оперативной памяти не указывая тип данных, в дальнейшем написать что-то на подобии
Код:
obj=new randclass();
и что бы выделилось место из кучи под этот класс а в переменную obj поместилась ссылка на него. Цель такова что бы заранее не указывать тип данных на которые будет ссылаться данная ссылка (void для примера написал).
Возможно ли это сделать методами с++ (на крайний случай ассемблером, но что бы потом я мог с этой переменной из С++ работать)
Андрей Цапко вне форума Ответить с цитированием
Старый 28.09.2017, 15:19   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.09.2017, 15:34   #3
Андрей Цапко
Пользователь
 
Регистрация: 10.04.2017
Сообщений: 66
По умолчанию

Если бы не надо было не спрашивал бы...
Андрей Цапко вне форума Ответить с цитированием
Старый 28.09.2017, 15:47   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://www.gunsmoker.ru/2008/10/x-y-z.html
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.09.2017, 15:49   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Берите тот же указатель на воид или чар, делайте new по месту и т.д. Только скорее всего это вам не надо, а ваша задача решается гораздо стандартнее/безопаснее...
p51x вне форума Ответить с цитированием
Старый 28.09.2017, 15:53   #6
Андрей Цапко
Пользователь
 
Регистрация: 10.04.2017
Сообщений: 66
По умолчанию

Намек ясен). В общем цель такая: сделать класс var, в котором хранить ссылку (на неопределенный тип). Перегрузить большую часть операторов (которая понадобиться соответственно) и присваивать ссылке значение того или иного типа. Если ссылка на string, а заменить надо на int, то удалять старую переменную и объявлять новую. В целом должен получиться синтаксис объявления как в js-е. С учетом дополнительных затрат ресурсов данный класс будет удобен (возможно не только мне).
Андрей Цапко вне форума Ответить с цитированием
Старый 28.09.2017, 15:56   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

простой шаблонный класс или если надо в рантайме, то
std::variant
std::any
p51x вне форума Ответить с цитированием
Старый 28.09.2017, 16:00   #8
Андрей Цапко
Пользователь
 
Регистрация: 10.04.2017
Сообщений: 66
По умолчанию

Если я правильно понял, то std::variant можно присвоить любое значение. Смогу ли я присвоить ему значение пользовательского класса (который сам же и создам) и смогу ли я потом сменить его, к примеру так:
Код:
std::variant test;
test=new class1();
cout<<test<<endl;
test=new class2();
cout<<test<<endl;
и если можно подскажите в каком файле эти типы.
Андрей Цапко вне форума Ответить с цитированием
Старый 28.09.2017, 16:26   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

http://en.cppreference.com/w/cpp/utility/variant
http://en.cppreference.com/w/cpp/utility/any
p51x вне форума Ответить с цитированием
Старый 28.09.2017, 18:08   #10
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

type erasure?
Croessmah вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать временную ссылку на основе обычной? SuperHero70 PHP 8 18.07.2017 17:20
Подскажите как создать ссылку на структуру из record-ов sera.kerch Общие вопросы Delphi 0 15.05.2015 15:29
как создать ссылку(внешний ключ) silwerhof SQL, базы данных 4 06.10.2012 22:59
Как создать ссылку в редакторе Джек Бентон HTML и CSS 1 14.11.2010 16:58
Дайте ссылку или объясните как создать html help Волк Общие вопросы Delphi 4 07.02.2009 10:04