我正在实现一个动态数组,我需要知道哪种是调整其大小的更好方法。 循环还是memcpy?这是我使用memcpy进行大小调整的代码,但我知道有一种循环方法,我想知道两种实现之间是否存在差异
void extend()
{
unsigned int cap = capacity == 0 ? DEFAULT_SIZE : capacity * 2;
T* tmp = new T[cap];
memcpy(tmp,data,size * sizeof(T));
delete[] data;
data = tmp;
capacity = cap;
}