2.写一个函数完成内存之间的拷贝

void* mymemcpy(void *dest, const void *src, size_t count)
{
    char* pdest = static_cast<char*>(dest);
    const char* psrc = static_cast<const char*>(src);
    if (pdest > psrc && pdest < (char*)psrc + count ) //能考虑到这种情况就行了
    {
        for (size_t i = count - 1; i != -1; --i)
            pdest[i] = psrc[i];
    }
    else
    {
        for (size_t i = 0; i < count; ++i)
            pdest[i] = psrc[i];
    }
    return dest;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 只是自说自话的学习笔记,各路看官绕路~ UDP协议: 1、udp协议只是在ip协议的基础之上增加了分用和复用功能以...
    Java面试官阅读 1,501评论 0 0
  • 55路
    解密天下阅读 962评论 0 0
  • 窗外滴水的声音清晰可闻,狂欢之后的头痛久久未散。手机屏幕的光如此刺眼,全身发热,翻来覆去。 夜深了,愿沉沉睡去。 ...
    阴平阳平阅读 1,397评论 0 0