Уместно ли использование макроса для определения специализации шаблонного класса?
Если на каждое регулярное выражение у вас создается отдельный тип данных, то что мешает сделать через все полиморфизм? Определить в базовом классе virtual std::string get() = 0, а в потомках описать разную реализацию?
template<const char *p> struct Z {};
extern const char X[] = "aaa";
Z<X> A;
Почему не сделать проще?