运行代码:
//自由空间指针练习
#include"std_lib_facilities.h"
ostream& print_array(ostream& os, int* a, int n)
{
for (int i = 0; i < n; i++)
os << a[i] << " ";
return os;
}
int main()
try
{
int* p1 = new int(7);
cout << "pl= " << "\t"<<p1 << "\n" << "*pl= " <<"\t"<< * p1 << "\n";
int* p2 = new int[7]();
for (int i = 0; i < 7; i++)
p2[i] = pow(2, i);
cout << "p2= " << "\t" << p2 << "\n" << "p2[]= " << "\t" ;
print_array(cout, p2, 7);
cout << "\n";
int* p3 = p2;
p2 = p1;
p2 = p3;
cout << "pl= " << "\t" << p1 << "\n" << "*pl= " << "\t" << *p1 << "\n";
cout << "p2= " << "\t" << p2 << "\n" << "p2[]= " << "\t";
print_array(cout, p2, 7);
cout << "\n";
delete p1;
delete[]p2;
return 0;
}
catch (exception& e) {
cerr << "error:" << e.what() << '\n';
keep_window_open();
return 1;
}
catch (...) {
cerr << "Oops:unknown exception!\n";
keep_window_open();
return 2;
}
运行结果: