Size: a a a

2020 October 20

C

CuBeR116 in pro.cxx
Denis Chernikov
1) можно
2) @supapro
3) decltype(type) value = "str";
Благодарю, я не в тот чат попал, так понимаю
источник

DC

Denis Chernikov in pro.cxx
CuBeR116
Ребят, привет, только только начинать писать на крестах. Вопрос возник, можно ли тип переменной задать с помощью другой переменной?

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


string type = "string";
<type> value = "asd";
А, то, что описал ты, уже только макросами если
источник

Е

Егор in pro.cxx
Denis Chernikov
А, то, что описал ты, уже только макросами если
С макросами тоже нет, если я правильно понял задачу
источник

C

CuBeR116 in pro.cxx
Denis Chernikov
А, то, что описал ты, уже только макросами если
не не, decltype как раз то, что нужно
источник

C

CuBeR116 in pro.cxx
У меня чисто была задумка, сделать так, чтобы переменная выступала как тип переменной
источник

ПК

Побитый Кирпич... in pro.cxx
CuBeR116
не не, decltype как раз то, что нужно
кажется нет
источник

DC

Denis Chernikov in pro.cxx
CuBeR116
У меня чисто была задумка, сделать так, чтобы переменная выступала как тип переменной
Тогда да, decltype
источник

ПК

Побитый Кирпич... in pro.cxx
CuBeR116
У меня чисто была задумка, сделать так, чтобы переменная выступала как тип переменной
Это возможно только если "переменная" с типом constexpr
источник

DC

Denis Chernikov in pro.cxx
Побитый Кирпич
Это возможно только если "переменная" с типом constexpr
Не грузи пока 😅
источник

O

Ofee in pro.cxx
CuBeR116
не не, decltype как раз то, что нужно
Хотите ли вы менять тип переменной во время работы программы?
источник

C

CuBeR116 in pro.cxx
Ofee
Хотите ли вы менять тип переменной во время работы программы?
Желательно да. У меня есть массив, но на данный момент пустой.

И создавать на основе переменной другой массив, с нужным мне типом. Но тут еще вопрос в том, как его сделать динамичным.

Грубый пример:

Stack.init(string type = "string")
Тут он создает нужный массив в классе, который буду заполнять

Stack.push(string|float|double|int value)
Тут уже, добавлять в конец массива значения, с нужным типом значения
источник

S

Stas in pro.cxx
Ofee
Хотите ли вы менять тип переменной во время работы программы?
void*
источник

АК

Александр Караев... in pro.cxx
CuBeR116
Желательно да. У меня есть массив, но на данный момент пустой.

И создавать на основе переменной другой массив, с нужным мне типом. Но тут еще вопрос в том, как его сделать динамичным.

Грубый пример:

Stack.init(string type = "string")
Тут он создает нужный массив в классе, который буду заполнять

Stack.push(string|float|double|int value)
Тут уже, добавлять в конец массива значения, с нужным типом значения
Это уже не рантайм, а компайл-тайм
источник

C

CuBeR116 in pro.cxx
источник

O

Oleksandr in pro.cxx
CuBeR116
Желательно да. У меня есть массив, но на данный момент пустой.

И создавать на основе переменной другой массив, с нужным мне типом. Но тут еще вопрос в том, как его сделать динамичным.

Грубый пример:

Stack.init(string type = "string")
Тут он создает нужный массив в классе, который буду заполнять

Stack.push(string|float|double|int value)
Тут уже, добавлять в конец массива значения, с нужным типом значения
Я бы смотрел в сторону чего-то типа std::vector<std::any>
источник

C

CuBeR116 in pro.cxx
Oleksandr
Я бы смотрел в сторону чего-то типа std::vector<std::any>
Понял, пойду гуглить
источник

O

Ofee in pro.cxx
CuBeR116
Желательно да. У меня есть массив, но на данный момент пустой.

И создавать на основе переменной другой массив, с нужным мне типом. Но тут еще вопрос в том, как его сделать динамичным.

Грубый пример:

Stack.init(string type = "string")
Тут он создает нужный массив в классе, который буду заполнять

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

C

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

Задача такова:
1. Создать класс Stack, который будет реализовывать принцип работы структуры данных стек. Размер стека не должен быть ограничен (используйте динамический массив).

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

Я так понял, что, нужно создать массив исходя того типа, который пришел, и этим типом заполнять его
источник

DC

Denis Chernikov in pro.cxx
CuBeR116
Хммм, если это уже более продвинутый уровень, может, я не правильно понял задачу.

Задача такова:
1. Создать класс Stack, который будет реализовывать принцип работы структуры данных стек. Размер стека не должен быть ограничен (используйте динамический массив).

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

Я так понял, что, нужно создать массив исходя того типа, который пришел, и этим типом заполнять его
1) @supapro
2) Для этого есть шаблоны
источник

C

CuBeR116 in pro.cxx
Denis Chernikov
1) @supapro
2) Для этого есть шаблоны
Благодарю
источник