一維變長數組

template<class T>
void changeLength1D(T*& a,int oldLength,int newLength)
{
	if(newLength >= 0)
	{
		T* temp = new T[newLength];
		int number = min(oldLength,newLength);//肯定要複製元素個數
		copy(a,a+number,temp);
		delete [] a;//釋放老數組空間
		a = temp;
	}
	else
	{
		cout<<"數組長度應該大於0"<<endl;
	}
}

該函數的大體思路是:
1.創建一個具備新長度的數組
2.把數組a的元素複製到這個新數組
3.改變數組a的值,使其可以引用新數組數組

相關文章
相關標籤/搜索