Блог пользователя Totktonada

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

Собственно заголовок говорит сам за себя =) В очередной раз получил ТЛ из-за сина. Что в этом случае делает нормальный человек? Переходит наконец на сканф/принтф. Что делаю я? Пишу какую-то ересь, которая подменяет одно другим.

#ifdef WIN32
#define LLD "%I64d"
#else
#define LLD "%l" "ld"
#endif
#define cin mycin
#define cout mycout
#define endl '\n'
struct io {
io operator» (int& x) {scanf("%d",&x); return *this; }
io operator» (LL& x) {scanf(LLD,&x); return *this; }
io operator» (double& x) {scanf("%lf",&x); return *this; }
io operator» (char& x) {scanf("%c",&x); return *this; }
io operator» (char* x) {scanf("%s",x); return *this; }
io operator» (string& x) {scanf("%s",x.c_str()); return *this; }
io operator« (int x) {printf("%d",x); return *this; }
io operator« (LL x) {printf(LLD,x); return *this; }
io operator« (double x) {printf("%.8lf",x); return *this; }
io operator« (char x) {printf("%c",x); return *this; }
io operator« (char* x) {printf("%s",x); return *this; }
io operator« (string x) {printf("%s",x.c_str()); return *this; }
};
io cin, cout;

Вряд ли этот адовый ад стоит использовать в жизни. Но чисто теоретически интересно: будет ли это работать достаточно быстро? Или такая структура существенно утяжеляет "голые" сканф/принтф? И, возможно, стоит как-то пошаманить с typeof и сделать несколько кейсов внутри одной перегрузки, чем писать 100500 их? В общем, интересно, насколько оптимальным это может быть.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +17
  • Проголосовать: не нравится

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

Доброго времени суток! Подскажите, пожалуйста, как измерить время работы процесса в С++? Конкретнее: хочу наиболее "чисто" сравнить время выполнения двух решений одной задачи на практике. Слышал что-то о GetProcessTimes(), но так и не разобрался. Просто если юзать clock(), то уж слишком большой разброс получается.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +9
  • Проголосовать: не нравится