#include <iostream> using namespace std; struct MyStrm { MyStrm() { d_cnt = 5; } operator void *() { return d_cnt ? &d_cnt : 0; } int get() { return d_cnt--; } int d_cnt; }; int main() { MyStrm myStrm; while (myStrm) cout << myStrm.get() << endl; return 0; }
The above program prints out the following:
5 4 3 2 1
It's clarify some doubts
ReplyDelete