Listing 4
#include <memory> #include <string.h> #include <iostream> using std::tr1::shared_ptr; using std::cout; void arr_delete(char *ptr) { // delete array of char delete [] ptr; } int main() { // demonstrate stream inserter shared_ptr<int> sp(new int); cout << "shared_ptr<int>: " << sp << ", " << sp.get() << '\n'; char *cptr = new char[100]; shared_ptr<char> cp(cptr, arr_delete); strcpy(cp.get(), "contents of character array"); cout << cp << '\n'; return 0; }