#include <iostream>
#include <vector>
using namespace std;
template<typename T>
class Widget
{
public:
typedef typename vector<T>::const_iterator TIter;
vector<T> vec;
TIter it;
Widget(T x)
{
vec.push_back(x);
it = vec.begin();
};
};
int main()
{
Widget<int> w(5566);
cout << *(w.it) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KY2xhc3MgV2lkZ2V0CnsKcHVibGljOgogICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I8VD46OmNvbnN0X2l0ZXJhdG9yIFRJdGVyOwogICAgdmVjdG9yPFQ+IHZlYzsKICAgIFRJdGVyIGl0OwogICAgV2lkZ2V0KFQgeCkKICAgIHsKICAgICAgICB2ZWMucHVzaF9iYWNrKHgpOwogICAgICAgIGl0ID0gdmVjLmJlZ2luKCk7CiAgICB9Owp9OwppbnQgbWFpbigpCnsKICAgIFdpZGdldDxpbnQ+IHcoNTU2Nik7CiAgICBjb3V0IDw8ICoody5pdCkgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9