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

А состояние лучше передавать по булеве или же стрингой или

же enum class?

Если у меня таких состояний будет много, то я всегда могу же в enum class`е дополнить его и работать соответственно, но придётся каждый раз дополнительный код писать, есть решение, которое может это сделать немного быстрее?

13 ответов

4 просмотра

Да, для состояний стандартное решение – это перечисление

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

тахир-кулиев Автор вопроса
Serhii Herashchenko
а состояние может принимать несколько значений одн...

У одного предмета же может быть много состояний, логично?

тахир-кулиев Автор вопроса
Ilya Zviagin
Не логично.

У человека же может быть состояние - лежит и дышит одновременно?

Serhii Herashchenko
тогда тебе enum с битмаской

если состояний меньше 64 enum class State : std::uint64_t { None = 0, Idle = 1, Running = 1 << 1, Jumping = 1 << 2, ... } bool HasState(std::uint64_t state, State toCheck) { return state & (std::uint64_t(toCkeck)); }

Serhii Herashchenko
если состояний меньше 64 enum class State : std::...

но если не принципиально enum class, то лучше юзать просто enum, так будет проще с битовыми операциями работать

тахир кулиев
У человека же может быть состояние - лежит и дышит...

Либо ты перечисляешь все возможные состояния предмета, либо ты определяешь их как композицию частных элементов состояния: (лежит/сидит/стоит) = лежит, (дышит/не дышит)= дышит.

тахир-кулиев Автор вопроса
Ilya Zviagin
Либо ты перечисляешь все возможные состояния предм...

Если создать композицию элементов из частных элементов, то он может быть не юзабелен относительно другого класса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта