【发布时间】:2018-04-02 22:36:59
【问题描述】:
我试图将一个数组的内容复制到另一个数组,但仅限于使用 memcpy() 函数。
这是我的尝试:
int source_array[3] = {1,2,3};
int destination_array[3];
memcpy(destination_array, source_array, sizeof(source_array) * 3);
问题是,我是否需要在关闭程序时对重复的数组执行 delete[] 以避免任何内存泄漏?
【问题讨论】:
-
memcpy()本身不进行任何内存分配。 -
你
delete你new,和delete[]你new[]。你既不做new也不做new[]。 -
源数组和目标数组都在堆栈上分配,当超出范围时将自动释放。
-
不要使用 memcpy,使用 std::copy。
标签: c++ arrays memory memory-leaks memcpy