вторник, 31 июля 2012 г.

Кириллица в консоли C++

Многим известна проблема с выводом русских (кириллических) символов в консоли. Раньше решалось все с помощью функции ChraToOem(...), в новом же стандарте эта функция как-то затерялась, по этой причине используется небезызвестная С-шная функция setlocale(...). Так вот, я тут нашел неплохую статью, агрегирующую все интересные вещи по этой теме, я просто оставлю ее здесь: клик_сюда

суббота, 21 июля 2012 г.

C++ Шаблонный класс стека

Тут на днях сижу, вспоминаю С++. Решил отработать "стандарты" на прошлых задачках. Вот набросал шаблонный класс стека (велосипед по мотивам std::stack). Тут есть кое-что интересное - динамические структуры (решил не привязываться к std::list и подобным) и внутренние классы.

среда, 18 июля 2012 г.

Точный замер времени (C/C++)

Была как-то задачка по одному предмету: построить график зависимости затраченного времени на некоторую операцию - копирование массива элементов от количества этих элементов. Вот сам алгоритм замера:

#include <windows.h>

void Some_function(void)
{
  LARGE_INTEGER lFrequency, lStart, lEnd;
  double dfTime1;
  QueryPerformanceFrequency(&lFrequency);
  QueryPerformanceCounter(&lStart);
  // ...
  // Замеряемая операция
  // ...
  QueryPerformanceCounter(&lEnd);
  dfTime1 = (double)(lEnd.QuadPart - lStart.QuadPart) / (double)lFrequency.QuadPart;
  }