C++ memcpy
时间: 2023-08-16 20:15:13 浏览: 101
`memcpy` 是一个 C++ 标准库函数,用于在内存之间进行字节级别的复制。它的声明如下:
```cpp
void* memcpy(void* destination, const void* source, std::size_t num);
```
该函数将 `source` 指针指向的内存块中的 `num` 个字节复制到 `destination` 指针指向的内存块中。这个函数可以用来复制任意类型的数据,包括原始数据类型和自定义类型。
需要注意的是,`memcpy` 函数执行的是字节级别的复制,不会考虑数据类型的结构和语义。因此,在使用时需要确保目标内存块足够大以容纳源内存块的数据。此外,由于 `memcpy` 是一个低级别的操作,需要谨慎处理指针和内存越界等问题,以避免潜在的错误和安全问题。
以下是一个使用 `memcpy` 的示例:
```cpp
#include <iostream>
#include <cstring>
int main() {
int source[] = {1, 2, 3, 4, 5};
int destination[5];
std::memcpy(destination, source, sizeof(source));
for (int i = 0; i < 5; i++) {
std::cout << destination[i] << " ";
}
return 0;
}
```
以上代码将源数组 `source` 中的数据复制到目标数组 `destination` 中,并输出目标数组的内容。输出结果为:`1 2 3 4 5`。
阅读全文