[ create a new paste ] login | about

Link: http://codepad.org/c4B9PWgq    [ raw code | output | fork ]

C++, pasted on Nov 24:
#include<iostream>
struct zero_buf:std::streambuf
{
    zero_buf():pos(0){setg(0,0,0);}
    //возвращает текущий символ потока
    int underflow(){
        return pos&1?'0':' ';
    }
    //тоже самое, но еще продвигается вперед по потоку
    int uflow(){
        ++pos;
        return pos&1?' ':'1';
    }

    int pos;
};

int main()
{
    zero_buf buf;
    //поток с бесконечным количеством нулей
    std::istream stream(&buf);
    //попробуем прочитать сто значений:
    for(int i=0;i<100;++i)
    {
        int n;
        stream>>n;
        //одни нули, да? Но ведь строки на сто нулей нигде не хранится!
        std::cout<<n<<std::endl;
    }
    return 0;
}


Output:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0


Create a new paste based on this one


Comments: