Вы можете добавить константный-ность к типу достаточно легко, потому что CV-отборочные изменить тип:
template <typename T>
using T_C = std::add_const_t<T>;
Однако static
и constexpr
изменять объявления, а не типов. Так, здесь:
int x1;
const int x2;
static const int x3;
static constexpr const int x4;
// | ^ | type |name
// ^| constexpr specifier
// storage class specifier
последние три декларации все типа const int
, но x2
имеет различный класс хранения для и x4
.
Честно говоря, если основная проблема заключается в том, что
... это действительно скучный писать ...
мое самое лучшее предложение, что вы узнаете, как писать макросы или сохранить общий код фрагменты в вашем предпочтительном редакторе.
Я останусь на макросе, как сказал тейваз. Спасибо за детали! Фрагменты этого не сделают, потому что я делаю много объявления флага, и это будет беспорядок со всеми этими ключевыми словами. –