编写一个模板函数changeLengthID,它将一个一维数组的长度从oldLength变成newLength。函数首先分配一个新的、长度为newLength的数组,然后把原数组的前min {oldLength, newLength} 个元素复制到新数组中,最后释放原数组所占用的空间。测试你的代码。
#include <iostream>
using namespace std;
template <class T>
void ChangeLengthID(T *array, int a,int b)
{
T *newarray = new T[b];
int c = (a < b) ? a : b;
for (int i = 0; i < c; i++)
newarray[i] = array[i];
delete[]array;
for (int i = 0; i < c; i++)
cout<<newarray[i]<<" " ;
}
int main()
{
int oldLength;
cout << "请输入旧的长度"<<endl;
cin >> oldLength;
int* array=new int[oldLength];
for (int i = 0; i < oldLength; i++)
array[i] = i;
int newLength;
cout << "请输入新的长度" << endl;
cin >> newLength;
ChangeLengthID(array, oldLength, newLength);
return 0;
}