Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/55: Рейтинг темы: голосов - 55, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 4

Неопределенный тип переменной в структуре

18.07.2017, 20:36. Показов 10593. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некоторая структура в одной переменной которой необходимо хранить переменные разных типов (т.е. там может лежать "строка" или число или вещественное число), возможно ли такое реализовать или без дополнительных переменных никак?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2017, 20:36
Ответы с готовыми решениями:

Получить тип переменной и задать её переменной типа тип
то есть int A = 213213 Type B = A.GetType() - ну надо что-то вроде этого но для Type b = typeof(a.Max(p =>...

Надо вывести название переменной, тип данных переменной, значение переменной
у нас есть переменная int variable = 0; Надо вывести название переменной, тип данных переменной, значение переменной как это сделать?

Надо вывести название переменной, тип данных переменной, значение переменной
у нас есть переменная int variable = 0; Надо вывести название переменной, тип данных переменной, значение переменной как это сделать?

11
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
18.07.2017, 20:41
boost::any или std::any.
http://www.boost.org/doc/libs/... l/any.html
http://en.cppreference.com/w/cpp/utility/any
1
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
18.07.2017, 20:47
Цитата Сообщение от Dantlord Посмотреть сообщение
(т.е. там может лежать "строка" или число или вещественное число), возможно ли такое реализовать или без дополнительных переменных никак?
boost::variant/std::variant.
Или, если аккуратно, можно использовать union.
1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12933 / 6801 / 1820
Регистрация: 18.10.2014
Сообщений: 17,214
18.07.2017, 20:50
Цитата Сообщение от Dantlord Посмотреть сообщение
переменные разных типов
"Разных" из заранее заданного фиксированного набора? Или "разных" в смысле "каких угодно"?
0
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 4
18.07.2017, 21:03  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
"Разных" из заранее заданного фиксированного набора? Или "разных" в смысле "каких угодно"?
Каких угодно. По сути на момент создания это структуры тип этой переменной должен определяться в зависимости вводимых значений
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12933 / 6801 / 1820
Регистрация: 18.10.2014
Сообщений: 17,214
18.07.2017, 21:13
Цитата Сообщение от Dantlord Посмотреть сообщение
По сути на момент создания это структуры тип этой переменной должен определяться в зависимости вводимых значений
Ну сам по себе он "определяться" не будет. Это ваша задача - определять, каким будет этот конкретный тип на основе формата вводимых значений.

А это значит, что тип все таки будет не "каким угодно", а одним из того фиксированного набора, который вы сами умеете распознавать.
0
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 4
18.07.2017, 21:18  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Ну сам по себе он "определяться" не будет. Это ваша задача - определять, каким будет этот конкретный тип на основе формата вводимых значений.
А это значит, что тип все таки будет не "каким угодно", а одним из того фиксированного набора, который вы сами умеете распознавать.
Хорошо тогда предположим что тип данных указывается при вводе, это не такая большая проблема
0
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
18.07.2017, 21:56
Разве шаблоны в данном случаи не подойдут?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12933 / 6801 / 1820
Регистрация: 18.10.2014
Сообщений: 17,214
18.07.2017, 22:15
Цитата Сообщение от Dantlord Посмотреть сообщение
Хорошо тогда предположим что тип данных указывается при вводе
Что именно вы имеете в виду? Каким образом вы собрались указывать тип данных при вводе?
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
18.07.2017, 22:49
Цитата Сообщение от Dantlord Посмотреть сообщение
Хорошо тогда предположим что тип данных указывается при вводе,
Ввод делается во что-то, и это что-то уже должно иметь тип. Или хочешь строковую переменную преобразовывать в другие типы (числовые)?

Добавлено через 5 минут
Цитата Сообщение от Dantlord Посмотреть сообщение
Есть некоторая структура в одной переменной которой необходимо хранить переменные разных типов (т.е. там может лежать "строка" или число или вещественное число), возможно ли такое реализовать или без дополнительных переменных никак?
...
Цитата Сообщение от igdev Посмотреть сообщение
Разве шаблоны в данном случаи не подойдут?
0
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 4
21.07.2017, 21:00  [ТС]
Извиняюсь за пропажу с шаблонами возникает проблема при компиляции, поскольку у меня с ними все плохо
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
template <class T>
struct tree { 
    T info;
    tree** childs;
    int count;  
};
template <class T>
tree* init(tree* p, T info) { 
    p->info = info; 
    p->childs = nullptr;
    p->count = 0; 
return p;
}
Вылетает ошибка "error C2955: "tree": для использования класс шаблон требуется список аргументов шаблон" не подскажите как её решить?
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
21.07.2017, 21:56
C++
1
2
3
4
5
6
7
8
template <class T>
tree <T>* init(tree <T>* p, T info) 
{ 
    p->info = info; 
    p->childs = nullptr;
    p->count = 0; 
    return p;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.07.2017, 21:56
Помогаю со студенческими работами здесь

Неопределённый тип
Добрый вечер! Вопрос такой: делаю программу. Необходимо реализовать класс List, имитирующий одноимённый тип в Python (массив...

Указатель на неопределённый тип
Есть, допустим, у меня вот такой класс: public ref class MyClass { public int info; ... }

Указатель на неопределенный тип
Можете привести пример простой программы с этим указателем void* p; Я что-то не могу придумать с ним можно сделать..

Неопределенный пользователем тип
Подскажите, пож., как решить такую проблему? Прорамма пишет, что Dim dbs As Database - тип, не определенный пользователем. Так этож...

Указатель и его неопределённый тип
struct SAI_BuMa { int number_BuMa; int counter_BuMa; }; AI.style.pointer = new SAI_BuMa; IF_data_AI &gt;&gt; tmp; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru