1、基本原理
将连续存储的变量,一个字节,一个字节的拷贝,这里会用到char类型指针只能解析一个字节内容的特点来进行拷贝。话不多说,直接上代码:
无类型指针,不能进行解引用,因为不知道指针类型,不清楚指针解析能力,因此要利用无类型指针,需要对其进行强转。
void my_momcpy(void * dest,void *src,size_t const)
{
assert(dest!=nullptr&&src!=nullptr);//断言目标数组和原变量不为空
char*dp=(char*)dest;
char*sp=(char*)src;//将两个无类型指针强转为char类型
for(int i =0;i<const;i++)//const为总字节数
{
*dp++=**sp++;
}
return;
2、应用
可以拷贝任何类型的对象,形参列表中的参数为无类型指针,可以用来拷贝不同类型的数组,结构体。