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

Всем привет. Подскажите хочу вместо энама использоать примерно следующее, чтобы

потом легко в json получать имя. Правильно ли так делать и правильно ли я понимаю что для сравнения можно просто сравнивать адреса?
class AstNodeType {
public:
constexpr AstNodeType(const char* name): name{name} {};
private:
const char* name;
};

class NodeType {
public:
static constexpr AstNodeType Unknown = AstNodeType("Unknown");
static constexpr AstNodeType StringLiteralExpr = AstNodeType("StringLiteralExpr");
static constexpr AstNodeType IntegerLiteralExpr = AstNodeType("IntegerLiteralExpr");
static constexpr AstNodeType FloatLiteralExpr = AstNodeType("FloatLiteralExpr");
};

5 ответов

3 просмотра

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

Yurij-horssyyy Автор вопроса
Егор (Дима)
если у тебя будет много нод, то в чем проблема в к...

А с чем я буду сравнивать потом? Я имею в виду как потом писать что-то типо node.type == ... ?

Yurij horssyyy
А с чем я буду сравнивать потом? Я имею в виду как...

ну с адресом статического члена твоего класса, но это только ты можешь гарантировать, что твои функции разбора будут возвращать ссылки на эти экземпляры.

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Карта сайта