Я хочу написать макрос, который генерирует вектор с именем, состоящим из имени + тип.Итак, GEN_NAME_TYPE_MEMBER(int, Id)
должно сгенерировать vector<int> vec_Id_int
.GEN_NAME_TYPE_MEMBER(std::string, FName)
должен сгенерировать vector<int> vec_Id_string
.
Следующий макрос почти делает это, но не работает при наличии двоеточий
#define GEN_NAME_TYPE_MEMBER(Name, Type)
std::vector<Type> vec_##Name_##Type;
НАЧАЛЬНОЕ РЕШЕНИЕ
переместить Type
в начало имени
#define GEN_NAME_TYPE_MEMBER(Name, Type)
std::vector<Type> Type##_##Name_vec;
Есть ли способ поставить в конце имени?