C++常考面试题:实现内存拷贝函数

void* memcpy(void *dst,const void *src,size_t count)
{
    assert(dst!=NULL);
    assert(src!=NULL);
    unsigned char *pdst=(unsigned char*)dst;
    const unsigned char *psrc=(const unsigned char *)src;

    assert(!(psrc<=psdt)&&pdst<(psrc+count));
    assert(!(psrc<=psrc)&&psrc<(pdst+count));

    while(count--)
    {
        *pdst=*psrc;
        pdst++;
        psrc++;
    }
    return dst;

}

时间: 2024-11-10 08:33:36

C++常考面试题:实现内存拷贝函数的相关文章

【C语言】 字符串操作函数及内存拷贝函数归总

今天在这里把零散的一些常用的字符串操作函数和内存拷贝函数进行一下归总实现. 一 . 字符串操作函数 字符串操作函数有很多,这里我列举一些常用的函数,以及自实现的代码: 字符串拷贝函数: 函数原型: char* my_strcpy(char* dst,const char* src) strcpy(): char* my_strcpy(char* dst,const char* src) {     assert(dst);     assert(src);     char *ret = dst

c++中内存拷贝函数(C++ memcpy)详解

原型:void*memcpy(void*dest, const void*src,unsigned int count); 功能:由src所指内存区域复制count个字节到dest所指内存区域. 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针. 举例: // memcpy.c #include <stdlib.h> #include <string.h> main() { char *s= "Golden Global View "; c

java常考面试题

p { margin-bottom: 0.1in; direction: ltr; line-height: 120%; text-align: justify; orphans: 0; widows: 0 } 什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? 参考答案 Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重

.net常考面试题

1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部和继承类中可以访问. public : 公共成员,完全公开,没有访问限制. internal: 在同一命名空间内可以访问. 2 .列举ASP.NET 页面之间传递值的几种方式. 答. 1.使用QueryString, 如....?id=1; response. Redirect()...

阿里巴巴JAVA常考面试题及汇总答案

一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? 答:   1.String是字符串常量,StringBuffer和StringBuilder都是字符串变量.后两者的字符内容可变,而前者创建后内容不可变. 2.String不可变是因为在JDK中String类被声明为一个final类. 3.StringBuffer是线程安全的,而StringBuilder是非线程安全的. ps:线程安全会带来额外的系统开销,所以StringBu

Java常考面试题(二)(转)

序言 昨天刚开始的"每日5题面试"这类文章,感觉还不错,把一些平常看似懂了的东西,弄清楚了.就像什么是虚拟机?这个问题,看起来知道,但是要说出个所以然来,又懵逼了,经常回过头来看看做过的 面试题,试着用自己的话说出来,看会不会,不会的话就继续看看,理解理解. ------WZY 一.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思? 自己解答: 覆盖:又称作重写, 前提条件:继承.   子类将父类中的某个方法,原封不动的抄下来,方法体中就自己写

Java常考面试题(三)

序言 说说今天遇到的一件小事吧,在遇到问题,查找答案时,看到很多人的博客里面都有提到关键字眼,可让人觉得可恨的是,大多数人写的博文中,基本上都是照着书上的语言发表的,看了跟没看一样,没有一点通俗的语言和自己关于该知识点的讲解,也有可能是觉得太简单,不用做解释,但是个人感觉,写博文,在一些自己都需要思考一段时间去理解的东西,应该把自己思考的过程,如何理解的写下来,而不是就把精华的部分复制黏贴上去,个人感觉没什么用,回想一下再写计算机网络教程学习历程的博文中,自己也有类似的情况,应该改正过来,在乎的

计算机网络常考面试题总结

这里先将搜集到的题目列出来,日后一一精细得写完. https://blog.csdn.net/u013408431/article/details/62442670 https://blog.csdn.net/tzs_1041218129/article/details/52134226 https://blog.csdn.net/GitChat/article/details/78546898 <.................................正文..............

C++ 内存拷贝函数 memcpy

在C/C++中经常会遇到对一段固定的连续内存进行拷贝操作,   这时候我们就需要用到   <cstring>  头文件  中的  memcpy  函数. 具体使用如下: 其中   ,   y 为 拷贝到的内存段 开始地址,     x   为   从拷贝一方的  内存段  开始地址. 第三个参数为拷贝的内存字节数,这里采用  sizeof  对类型的字节数进行判断.