170 похожих чатов

Ребят, привет, только только начинать писать на крестах. Вопрос возник,

можно ли тип переменной задать с помощью другой переменной?

Например
string type = "int";
<type> value = 5;


string type = "string";
<type> value = "asd";

17 ответов

12 просмотров

1) можно 2) @supapro 3) decltype(type) value = "str";

CuBeR116- Автор вопроса
Denis Chernikov
1) можно 2) @supapro 3) decltype(type) value = "st...

Благодарю, я не в тот чат попал, так понимаю

А, то, что описал ты, уже только макросами если

Denis Chernikov
А, то, что описал ты, уже только макросами если

С макросами тоже нет, если я правильно понял задачу

CuBeR116- Автор вопроса
CuBeR116
не не, decltype как раз то, что нужно

Хотите ли вы менять тип переменной во время работы программы?

CuBeR116- Автор вопроса
Ofee Oficsu
Хотите ли вы менять тип переменной во время работы...

Желательно да. У меня есть массив, но на данный момент пустой. И создавать на основе переменной другой массив, с нужным мне типом. Но тут еще вопрос в том, как его сделать динамичным. Грубый пример: Stack.init(string type = "string") Тут он создает нужный массив в классе, который буду заполнять Stack.push(string|float|double|int value) Тут уже, добавлять в конец массива значения, с нужным типом значения

CuBeR116
Желательно да. У меня есть массив, но на данный мо...

Я бы смотрел в сторону чего-то типа std::vector<std::any>

CuBeR116- Автор вопроса
CuBeR116
Желательно да. У меня есть массив, но на данный мо...

Менять тип переменной во время исполнения нельзя, поскольку язык имеет статическую типизацию. Однако, добиться желаемого поведения возможно с помощью std::variant, полиморфизма или type-erasure контейнеров. Однако, для использования этих инструментов требуются более продвинутые знания языка. Думаю, сейчас стоит чуть по-лучше освоить основы C++, в @supapro с этим помогут чуть охотнее, чем здесь

CuBeR116- Автор вопроса
Ofee Oficsu
Менять тип переменной во время исполнения нельзя, ...

Хммм, если это уже более продвинутый уровень, может, я не правильно понял задачу. Задача такова: 1. Создать класс Stack, который будет реализовывать принцип работы структуры данных стек. Размер стека не должен быть ограничен (используйте динамический массив). 2. Реализовать для любого типа данных на выбор (int, float, double, string). Должны быть как минимум методы pop(), чтобы достать из стека верхний элемент, и push(), чтобы добавить новый элемент. Я так понял, что, нужно создать массив исходя того типа, который пришел, и этим типом заполнять его

CuBeR116
Хммм, если это уже более продвинутый уровень, може...

"на выбор" я понимаю как "по своему усмотрению". Я бы сделал IntStack без всяких шаблонов или type erasure и остановился бы на этом

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта