Имеется ли возможность на C++ более менее просто написать что-то типа такого?
Интересует именно compile-time, возможно ли это вообще? Вот псевдокод, который понятное дело не заработает.
#include <iostream>
using it_t = unsigned int;
constexpr id_t getId()
{
static id_t nId = 0;
return ++nId;
}
int main()
{
constexpr id_t nA = getId();
constexpr id_t nB = getId();
constexpr id_t nC = getId();
std::cout << nA << std::endl;
std::cout << nB << std::endl;
std::cout << nC << std::endl;
return 0;
}