memcopy的C++实现

描述:由src所指内存区域复制count个字节到dest所指内存区域。

说明:src和dest所指内存区域不能重叠(若重叠使用memmove),函数返回指向dest的指针。

void *memcopy( void* dest , const void* src , int n )
{
    assert(dest != NULL && scr != NULL);
    //拷贝是一个字节一个字节的拷贝
    //定义两个新指针用于拷贝赋值
    //转成char是因为char是1字节,不是转成字符类型。
    char* newDest = (char*)dest;
    const char* newSrc = (const char*) src;
    while( n-- )
    {
        *newDest ++ = *newSrc ++;//内存地址递增
    }
    //此处不能返回newDest,因为newDest已经不知道指到哪里去了
    return dest;
}

 

你可能感兴趣的:(数据结构和算法)