12345678910111213141516171819202122232425262728293031 |
- // delete.cpp -- using the delete operator
- #include <iostream>
- #include <cstring> // or string.h
- using namespace std;
- char * getname(void); // function prototype
- int main()
- {
- char * name; // create pointer but no storage
- name = getname(); // assign address of string to name
- cout << name << " at " << (int *) name << "\n";
- delete [] name; // memory freed
- name = getname(); // reuse freed memory
- cout << name << " at " << (int *) name << "\n";
- delete [] name; // memory freed again
- // cin.get();
- // cin.get();
- return 0;
- }
- char * getname() // return pointer to new string
- {
- char temp[80]; // temporary storage
- cout << "Enter last name: ";
- cin >> temp;
- char * pn = new char[strlen(temp) + 1];
- strcpy(pn, temp); // copy string into smaller space
- return pn; // temp lost when function ends
- }
|