- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
struct c_log
{
template<typename T> const c_log& operator << (const T& value)
{
//...
}
};
template<> const c_log& c_log::operator << <p_wstr> (const p_wstr& value)
{
fwrite(value, sizeof(wchar_t), wcslen(value), log_file);
return *this;
}
(_o_)
Вывод юникодной строки "как есть" тоже доставил. Чем потом это читать, если половина лога будет в однобайтовой кодировке, а половина в джвухбайтовой под виндой и четырехбайтовой под линем? ;)
P.S. Числа в этот лог тоже выводятся прямо в бинарном виде? :)
один геморрой
Если можно писать меньше, то зачем писать больше? А преимуществ от специализации в этом примере я что-то не замечаю.
"Это винтик, это отвертка, винтик можно крутить отверткой. Это всякие железяки, их можно соединять винтиками, закрутив отверткой. Еще бывают гайки и шестеренки.
Задание:
Постройте синхрофазотрон." (c)