//: C02:Strmove.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // ostrstream memory movement #include #include using namespace std; int main() { ostrstream s; s << "hi"; char* old = s.str(); // Freezes s s.rdbuf()->freeze(0); // Unfreeze for(int i = 0; i < 100; i++) s << "howdy"; // Should force reallocation cout << "old = " << (void*)old << endl; cout << "new = " << (void*)s.str(); // Freezes delete s.str(); // Release storage } ///:~