Пожалуйста, подпишитесь на официальный канал Codeforces в Telegram по ссылке https://t.me/codeforces_official. ×

Блог пользователя aybek.b5

Автор aybek.b5, 10 лет назад, По-русски

Давайте делиться своими макросами и функциями

Вот некоторые макросы которые заранее прописаны в шаблон моего кода ;) Иногда надо просто повторять некоторые действия, но не хочется расписывать для этого цикл 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;
}
  • Проголосовать: нравится
  • -26
  • Проголосовать: не нравится

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится +13 Проголосовать: не нравится

Комната числа? Это что?

А по теме могу сказать, что если захочется написать #define sqr(x) ((x) * (x)), то так делать не стоит, так как в выражении sqr(f(x)) f(x) вычисляется 2 раза.
Лучше писать

template <typename T>  
inline T sqr( T x ) {  
	return x * x;  
}