为什么会引入类型萃取??提高程序效率~~~
看下边的一段代码:
template<typename T>
void SeqList<T>::CheckCapacity(int count)
{
if (_sz + count >= _capacity)
{
int NewCapacity = 2 * _sz + 1;
T *tmp = new T[NewCapacity];
//memcpy(tmp,_pdata,sizeof(T)*_sz);
/*int i = 0;
for (i = 0;i < _sz;i++)
{
tmp[i] = _pdata[i];
}*/
Copy(tmp,_pdata,_sz);
delete[] _pdata;
_pdata = tmp;
_capacity = NewCapacity;
}
}
这是一个模板函数,//屏蔽的部分和/* */屏蔽的部分实现的都是是内存的拷贝,看着
memcpy的效率高一点,这的是这样吗??要是T是string,memcpy还能正确吗??
看图: