Кресты / Говнокод #9359 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
class FuncFileOutStream: public fileOutStream
{
public:
	/* ... */
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, bool b);
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, char c);
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, long l);
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, int i);
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, short s);
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, const char* pc);
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, float f);
	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, double d);
	/* ... */
};

попытка перенаправления данных проходящих через ostream.

только маленькая тонкость. fileOutStream уже перенакрывает ostream специально для этой цели - что бы собственный streambuf подставить, который данными проходящими через ostream и манипулирует используя два официальных виртуальных метода - вместо дюжины корявых операторов которые наверное и половины того что проект испульзует не покрывают. ну бляха муха поэтому же и сделали streambuf в стандарте, что бы вот таким маразмом не страдали...

Запостил: Dummy00001 Dummy00001, (Updated )

Комментарии (4) RSS

  • Тут написано, что индусы вместо streambuf используют собственный велосипед?
    Я 2 раза прочитал описание и нихуя не понял. Ты вообще слышал про согласование и знаки препинания?
    Ответить
    • автор жалуется на то, что fileOutStream уже отнаследован от std::basic_ostream чтобы подсунуть ему собственный streambuf (отнаследованный от std::basic_streambuf, переопределив overflow и sync), поэтому лишние перегрузки operator << уже никому не нужны
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8