Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#include <iostream>
#define DEFINE_COUNTER(NAME) namespace{ enum{ NAME = __COUNTER__ }; }
#define AUTOINCREMENTED_VALUE_OF(NAME) (__COUNTER__ - NAME)
DEFINE_COUNTER(MyCounter);
int main()
{
auto x = AUTOINCREMENTED_VALUE_OF(MyCounter); // x is 1
auto y = AUTOINCREMENTED_VALUE_OF(MyCounter); // y is 2
std::cout << "x = " << x << ", y = " << y << std::endl;
}
Занимательный C++: Счетчик времени компиляции