Давайте делиться своими макросами и функциями
Вот некоторые макросы которые заранее прописаны в шаблон моего кода ;) Иногда надо просто повторять некоторые действия, но не хочется расписывать для этого цикл for.
#define repeat(a) for (size_t i___ = 0; i___ < (a); ++i___)
repeat(10) cout << "hi";
Довольно часто мы сортируем весь контейнер.
#define whole(a) a.begin(), a.end()
sort(whole(vector_dots));
Получение комнаты числа:
inline int digit_of(int n, int i) {
while (i-- && n /= 10); return n%10;
}
Комната числа? Это что?
А по теме могу сказать, что если захочется написать
#define sqr(x) ((x) * (x))
, то так делать не стоит, так как в выраженииsqr(f(x))
f(x)
вычисляется 2 раза.Лучше писать