我需要在 C++ 中执行与以下 C# 代码等效的操作
Array.Resize(ref A, A.Length - 1);
如何在 C++ 中实现这一点?
您无法调整数组的大小,只能分配新的数组(具有更大的大小)并复制旧数组的内容。
如果你不想使用std::vector
(出于某种原因)这是它的代码:
int size = 10;
int* arr = new int[size];
void resize() {
size_t newSize = size * 2;
int* newArr = new int[newSize];
memcpy( newArr, arr, size * sizeof(int) );
size = newSize;
delete [] arr;
arr = newArr;
}
代码来自这里http://www.cplusplus.com/forum/general/11111/ http://www.cplusplus.com/forum/general/11111/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)