ImageVerifierCode 换一换
格式:TXT , 页数:11 ,大小:16.51KB ,
资源ID:4846995      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4846995.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面试常考题.txt)为本站会员(scg750829)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

面试常考题.txt

1、C+ 笔试面试常考题 分类: 笔试 面试 2010-08-15 14:52 551人阅读 评论(0) 收藏 举报 (一)写函数完成内存的拷贝 void* memcpy( void *dst, const void *src, unsigned int len )register char *d;register char *s;if (len = 0)return dst;if ( dst src ) /考虑覆盖情况d = (char *)dst + len - 1;s = (char *)src + len - 1;while ( len = 4 ) /循环展开,提高执行效率*d- = *s

2、-;*d- = *s-;*d- = *s-;*d- = *s-;len -= 4;while ( len- ) *d- = *s-; else if ( dst = 4 )*d+ = *s+;*d+ = *s+;*d+ = *s+;*d+ = *s+;len -= 4;while ( len- )*d+ = *s+;return dst;(二)static关键字用途 static关键字是C, C+中都存在的关键字, 它主要有三种使用方式, 其中前两种在C/C+语言中使用, 第三种只在C+中使用 一般回答: 1.限制变量的作用域; 2.设置变量的存储域,只在定于变量的源文件内可见 局部 静态变量

3、 在C/C+中, 局部变量按照存储形式可分为三种auto, static, register。与auto类型(普通)局部变量相比, static局部变量有三点不同1. 存储空间分配不同auto类型分配在栈 上, 属于动态存储类别, 占动态存储区空间, 函数调用结束后自动 , static分配在静态存储区 , 在 行 间都不 . 两 间的作用域相同, 存 不同.2. static局部变量在 在 行 行 作, 只 作一 3. 于局部静态变量, 不 , 自动 0空字 , auto类型的 是不定的.( 于C+中的class , class的 currency1 不 , 自动调用“函数, 不fi是fl是

4、static类型)点: static局部变量的与 存 的 局 是在两 函数调用 , 在第二 调用 , ”第一 调用 的 . 行结 不同, 行 的可; 存 局一. 普通的local变量的存储空间分配在stack上, 调用函数 , 分配的空间都可不一, static 有 局一的 点, 调用 , 都同一 内存, 成一 要的题 - 不可!在 设 设 中, 要 别 题.部 静态变量/函数 用 不 其它文件 的 局变量 函数 。 为 限制 局变量/函数的作用域, 函数变量前 static使 函数成为静态函数。 static”的 不是存储方式, 是 函数的作用域 局限于文件 ( 内部函数)。 , 于部( 局

5、)变量, 不论是fl有static限制, 它的存储区域都是在静态存储区, 存 都是 局的. 的static只是 作用域限制作用, 限定作用域在 (文件)内部.使用内部函数的 是:不同的人 写不同的函数 ,不用自定的函数,是fl与其它文件中的函数同 。 结: 1. 在 内( 在函数 ),一 为静态的变量可 内 用函数 , 不 其它函数 。它是一 的 局变量。2. 在 内,一 为静态的函数只可 一 内的其它函数调用。 是, 函数 限制在 它的 的 内使用。 静态数成 /成 函数C+ 关键字与前面不同的第三种 : 属于一 类 不属于类的 定 的变量函数. 是与普通成 函数的区别, 是其 用 在, 比

6、 在 一 类的 行 数 , 数 成 类的currency1, 可 用到静态数成 . 在 里面, static既不是限定作用域的, 不是扩展 存的作用, 是 变量/函数在类中的一 . 是属于一 类 不是属于类的 定 的变量函数的 . 为它是 类 说是一的, 不可属于 一 currency1 的. (针 静态数成 言, 成 函数不fi是fl是static, 在内存中只有一 副, 普通成 函数调用 , 需要传this针, static成 函数调用 , 没有this针. )局变量局部变量在内存中区别是什么?局变量储存在 局静态存储区,局部变量在堆栈 (三) 引用与针有什么区别 1) 引用必须 ,针不必

7、。2) 引用 后不 改变,针可 改变 的 。3) 不存在空 的引用, 是存在空 的针。(四) 写float x 与零 比较的if语句 - const float EPSINON = 0.00001; if (x = - EPSINON) while(size0)*pbTo+ = *pbFrom+;return pvTo;另:memcpy()用 拷贝src 的内存内 前n 字 到dest 的内存上。与strcpy()不同的是,memcpy()完 的制n 字 ,不 为 到字结束/0 结束 - void *memmove(void *dest,const void *src,int n) 该函数前面

8、函数的区别是当srcdesc有区域 ,desc后 ,然后 行拷贝 作.void *memccpy(void *dest,const void *src,int c,int n); The memccpy() function copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found.返回结 是一 dest中的第一 c后面的字, 在src的前n 字中没有到c,返回NULLvoid bcopy(const void *src,void *d

9、est,int n);src拷贝n 字 到dest中. n=0,拷贝0 字 有上面的拷贝是针 数类型 的, 针类型都是void类型. 下面的strcpystrncpy都是针 字 的 作.char *strcpy(char *dest,const char *src);src针的字拷贝到dest的数currency1中,包括.不 区域的题, 是dest的空间必须比src的空间.char *strncpy(char *dest,const char *src,int n) src的字的前n 字拷贝到dest的数currency1中, src的前n 字中没有结束,dest没有. 不是正的“法.返回

10、是字的针. dest的长度不够,有误.- 下面是种函数的 currency1现 - cpp view plaincopyprint?/strcpy(), 字拷贝. char *strcpy(char *strDest, const char *strSrc) assert(strDest!=NULL) char *address = strDest; while(*strDest+ = * strSrc+) != /0) return address ; /memcpy, 拷贝不 的内存 void *memcpy(void* pvTo, void* pvFrom, size_t size) /

11、byte是java里的变量类型 assert(pvTo != NULL void* pbTo = (byte*)pvTo; void* pbFrom = (byte*)pvFrom; /* 内存 ? ,使用memmove */ assert(pbTo=pbFrom+size | pbFrom=pbTo+size); while(size0) *pbTo+ = *pbFrom+; return pvTo; void *MemCopy(void *dest,const void *src,size_t count) char *pDest = static_cast(dest); const ch

12、ar *pSrc = static_cast(src); if( pDestpSrc Dst = (char*)Dst + 1; Src = (char*)Src + 1; else Dst = (char*)Dst + count - 1; Src = (char*)Src + count - 1; while(count-) *(char*)Dst = *(char*)Src; Dst = (char*)Dst -1 ; Src = (char*)Src -1 ; return pDst; void* memmove(void *dest, const void *src,size_t n

13、) if (n = 0) return 0; if (dest = NULL) return 0; if (src = NULL) return 0; char *psrc = (char*)src; char *pdest = (char*)dest; if(dest = psrc + n) /*fifl是fl有 题 */ for(int i=0; i 0) *pvTo+=(char)c; return buffer; /strcpy(), 字拷贝.char *strcpy(char *strDest, const char *strSrc)assert(strDest!=NULL) cha

14、r *address = strDest; while(*strDest+ = * strSrc+) != /0) return address ; /memcpy, 拷贝不 的内存 void *memcpy(void* pvTo, void* pvFrom, size_t size) /byte是java里的变量类型assert(pvTo != NULL void* pbTo = (byte*)pvTo;void* pbFrom = (byte*)pvFrom;/* 内存 ? ,使用memmove */assert(pbTo=pbFrom+size | pbFrom=pbTo+size);w

15、hile(size0)*pbTo+ = *pbFrom+;return pvTo;void *MemCopy(void *dest,const void *src,size_t count)char *pDest = static_cast(dest);const char *pSrc = static_cast(src);if( pDestpSrc Dst = (char*)Dst + 1;Src = (char*)Src + 1;elseDst = (char*)Dst + count - 1;Src = (char*)Src + count - 1;while(count-)*(char

16、*)Dst = *(char*)Src;Dst = (char*)Dst -1 ;Src = (char*)Src -1 ;return pDst;void* memmove(void *dest, const void *src,size_t n) if (n = 0) return 0; if (dest = NULL) return 0; if (src = NULL) return 0; char *psrc = (char*)src; char *pdest = (char*)dest; if(dest = psrc + n) /*fifl是fl有 题 */ for(int i=0;

17、 i 0)*pvTo+=(char)c;return buffer; ()针引用的区别 结 1.现上看:针在 行 可 改变其 的 , 引用一 定后不改变2.内存分配上看: 为针变量分配内存区域, 引用不分配内存区域3. 上看: 在 分别针引用 到号 上,号 上 的是变量 变量 。针变量在号 上 的 为针变量的 , 引用在号 上 的 为引用 的 。号 成后不改, 针可 改变的 (针变量中的 可 改), 引用 不改。 相同点: 1. 都是的; 针一 内存,它的内 是 内存的;引用是 内存的别 。 区别: 1. 针是一 currency1 , 引用 是 别 ; 2. 引用使用 无需解引用(*),针需

18、要解引用; 3. 引用只在定 一 , 后不可变;针可变; 引用一 终 _ 4. 引用没有 const,针有 const,const 的针不可变; 5. 引用不为空,针可 为空; 6. “sizeof 引用 到的是 的变量( )的小, sizeof 针 到的是针( 的变量 的)的小; typeid(T) = typeid(T&) ”为真,sizeof(T) = sizeof(T&) ”为真, 是当引用作为成 ,其占用空间与针相同(没到标准的 定)。 7. 针引用的自增(+) 算 不一; 1. 引用在语言内部用针currency1现。 2. 一般 用 言,引用解为针,不严语误。引用是 作 限 的针( 取内 作)。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报