#include <iostream>
#include <list>
using namespace std;
int main( ) {
list< string> abcd;
list< string> :: iterator it;
cout << "testing empty list" << endl;
cout << "begin, pointer is " << & * abcd.begin ( ) << ", value is " << * abcd.begin ( ) << endl;
cout << "end, pointer is" << & * abcd.end ( ) << ", value is " << * abcd.end ( ) << endl;
for ( it = abcd.begin ( ) ; it ! = abcd.end ( ) ; it++ ) {
cout << "loop iteration, pointer is " << & * it << ", value is " << * it << endl;
}
cout << endl << endl;
abcd.push_back ( "val1" ) ;
abcd.push_back ( "val2" ) ;
abcd.push_back ( "val3" ) ;
cout << "testing three values in list" << endl;
cout << "begin, pointer is " << & * abcd.begin ( ) << ", value is " << * abcd.begin ( ) << endl;
cout << "end, pointer is" << & * abcd.end ( ) << ", value is " << * abcd.end ( ) << endl;
for ( it = abcd.begin ( ) ; it ! = abcd.end ( ) ; it++ ) {
cout << "loop iteration, pointer is " << & * it << ", value is " << * it << endl;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWxpc3Q8c3RyaW5nPiBhYmNkOwogICAgbGlzdDxzdHJpbmc+OjppdGVyYXRvciBpdDsKICAgIAogICAgY291dCA8PCAidGVzdGluZyBlbXB0eSBsaXN0IiA8PCBlbmRsOwogICAgY291dCA8PCAiYmVnaW4sIHBvaW50ZXIgaXMgIiA8PCAmKmFiY2QuYmVnaW4oKSA8PCAiLCB2YWx1ZSBpcyAiIDw8ICphYmNkLmJlZ2luKCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgImVuZCwgcG9pbnRlciBpcyIgPDwgJiphYmNkLmVuZCgpIDw8ICIsIHZhbHVlIGlzICIgPDwgKmFiY2QuZW5kKCkgPDwgZW5kbDsKICAgIGZvciAoaXQgPSBhYmNkLmJlZ2luKCk7IGl0ICE9IGFiY2QuZW5kKCk7IGl0KyspIHsKICAgICAgICBjb3V0IDw8ICJsb29wIGl0ZXJhdGlvbiwgcG9pbnRlciBpcyAiIDw8ICYqaXQgPDwgIiwgdmFsdWUgaXMgIiA8PCAqaXQgPDwgZW5kbDsKICAgIH0KICAgIAogICAgY291dCA8PCBlbmRsIDw8IGVuZGw7CiAgICAKICAgIGFiY2QucHVzaF9iYWNrKCJ2YWwxIik7CiAgICBhYmNkLnB1c2hfYmFjaygidmFsMiIpOwogICAgYWJjZC5wdXNoX2JhY2soInZhbDMiKTsKICAgIGNvdXQgPDwgInRlc3RpbmcgdGhyZWUgdmFsdWVzIGluIGxpc3QiIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJiZWdpbiwgcG9pbnRlciBpcyAiIDw8ICYqYWJjZC5iZWdpbigpIDw8ICIsIHZhbHVlIGlzICIgPDwgKmFiY2QuYmVnaW4oKSA8PCBlbmRsOwogICAgY291dCA8PCAiZW5kLCBwb2ludGVyIGlzIiA8PCAmKmFiY2QuZW5kKCkgPDwgIiwgdmFsdWUgaXMgIiA8PCAqYWJjZC5lbmQoKSA8PCBlbmRsOwogICAgZm9yIChpdCA9IGFiY2QuYmVnaW4oKTsgaXQgIT0gYWJjZC5lbmQoKTsgaXQrKykgewogICAgICAgIGNvdXQgPDwgImxvb3AgaXRlcmF0aW9uLCBwb2ludGVyIGlzICIgPDwgJippdCA8PCAiLCB2YWx1ZSBpcyAiIDw8ICppdCA8PCBlbmRsOwogICAgfQoJcmV0dXJuIDA7Cn0=
stdout
testing empty list
begin, pointer is 0xbfcad5a4, value is
end, pointer is0xbfcad5a4, value is
testing three values in list
begin, pointer is 0x846d028, value is val1
end, pointer is0xbfcad5a4, value is val3
loop iteration, pointer is 0x846d028, value is val1
loop iteration, pointer is 0x846d050, value is val2
loop iteration, pointer is 0x846d078, value is val3