1. C++ / Говнокод #9359

    +1004

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 08 Февраля 2012

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

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

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