Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 July 18

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
Стандартными подходами нет
Названия идентификаторов только частично сохраняются, да и то в манглированой форме
Манглированый — это какой? Гугл ничего не говорит(
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Макс Заика
Манглированый — это какой? Гугл ничего не говорит(
mangling
Это механизм для того чтобы разрешать дубляжи идентификаторов во время сборки приложения
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Многие компиляторы имеют зачатки рефлексии, но это всё нестандартизовано
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Разве что есть такая штука как typeid, но она не сильно тебе поможет
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Думаю, можно через map попробовать сделать, чтобы хоть как-то работало)
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Да, разве что подобными полу-ручными методами
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Я думал через обычный массив сделать, но у меня перечислители переопределены(так надо)
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
Макс Заика
А имя перечислителя можно как-то превратить в строку? Типа:
enum A { TYPE };
std::cout << (то, что надо);
// Output: TYPE
можно генерить препроцесором
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
будет обычний свич кейс что возвращает строки, но каждый раз писать руками не надо
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Ruslan Neshta
можно генерить препроцесором
Да, слово за # будет вставляться внутри макроса как литерал
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Макс Заика
Думаю, можно через map попробовать сделать, чтобы хоть как-то работало)
std::unordered_map уже тогда
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Я решил с нуля переделать, чтобы удобнее было, а там уже и через обычный массив можно будет
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Так не интересно
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Макс Заика
Я решил с нуля переделать, чтобы удобнее было, а там уже и через обычный массив можно будет
std::array
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Лучше с обёрткой, чем без
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Так мне просто по индексу значение получить
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Как хочешь
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Спасибо за советы
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
Макс Заика
Так мне просто по индексу значение получить
имхо, проще препроцесором
все в одну функцию влезет
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
кароче
источник