一、memcpy函数介绍
void* memcpy(void* dest, const void* src, size_t size);
功能:memcpy为按字节拷贝内存函数,从源src所指的内存地址开始拷贝n个字节到目标dest为起始地址的内存中。
返回值:函数返回指向目标内存区dest的指针。
二、C++实现
1.实现memcpy函数
注意事项:文章来源:https://www.toymoban.com/news/detail-604161.html
- memcpy应该实现按字节拷贝指定长度的内存内容,但若传入函数的实参dest和src指针的类型不同,直接自增++可能不是按字节进行操作的,比如int* p,p++每次移动4个字节。
解决方法:在函数内部将指针转换为char*类型,这样自增操作都是移动的一个字节。
代码实现:文章来源地址https://www.toymoban.com/news/detail-604161.html
void* memcpy(void* dest, const void* src, size_t size){
if(dest == nullptr || src == nullptr || size < 0){
return nullptr;
}
char* pdest = dest;
const char* psrc = src;
while(size--){
*pdest++ = *prsc++;
}
return dest;
}
到了这里,关于C++实现memcpy函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!