#include<iostream>
using std::cin;
using std::cout;
using std::endl;
template<class T>
void ChangeSize1D(T *& arr, size_t size, size_t ToSize) // 要传指针的应用,才能使函数里对指针的操作有效
{
if(size > ToSize) cout << "error : ToSize should great than size ";
T *temp = new T[ToSize];
for (size_t i = 0; i != size; ++i)
{
temp[i] = arr[i];
}
delete [] arr;
/* arr = new T[ToSize];
for ( i = 0; i != ToSize; ++i)
{
if(i < size)
arr[i] = temp[i];
else
arr[i] = 0;
cout << temp[i];
}
delete [] temp;*/
arr = temp;
return;
}
int main()
{
const size_t size = 10;
const size_t ToSize = 20;
int * a = new int[size];
for (size_t i = 0; i != size; ++i)
{
a[i] = i ;
}
ChangeSize1D(a, size, ToSize);
for ( i = 0; i != ToSize; ++i)
{
cout << a[i] << endl;
}
delete [] a;
return 0;
}