- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c_常考面试题
1、引用与指针的区别是什么? 指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。此外,就是上面提到的对函数传ref和pointer的区别。 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy。 char*strcpy(char*strDest,?constchar*strSrc){ assert((strDest!=NULL)??(strSrc?!=NULL));?//?2分 char*?address?=?strDest; //?2分 while( (*strDest++=*strSrc++)?!=\0?) //?2分 NULL;? return?address ; //?2分} int?strlen(?constchar*str )?//?输入参数const{ assert( str?!=?NULL );?//?断言字符串地址非0 int?len = 0; while( (*str++)?!=\0?)? {? len++;? }? return?len;} 已知String类定义如下: #includefile.h 与#include file.h的区别? 答:前者是从Standard Library的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。 在C++程序中调用被C 编译器编译后的函数,为什么要加extern “C”? 首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并不会报错;它会在连接阶段中从模块A编译生成的目标代码中找到此函数 extern C是连接申明(linkage declaration),被extern C修饰的变量和函数是按照C语言方式编译和连接的,来看看C++中对类似。 (1)在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理: externC{ #includecExample.h} 而在C语言的头文件中,对其外部函数只能指定为extern类型,C语言中不支持extern C声明,在.c文件中包含了externC时会出现编译语法错误。 如果C++调用一个C语言编写的.DLL时,当包括.DLL的头文件或声明接口函数时,应加extern C { }。 (2)在C中引用C++语言中的函数和变量时,C++的头文件需添加extern C,但是在C语言中不能直接引用声明了extern C的该头文件,应该仅将C文件中将C++中定义的externC函数声明为extern类型。 C引用C++函数例子工程中包含的三个文件的源代码如下: //C++头文件cppExample.h#ifndef CPP_EXAMPLE_H#define?CPP_EXAMPLE_HexternCint?add(?int?x,?int?y );#endif //C++实现文件 cppExample.cpp#includecppExample.hint?add(?int?x,?int?y ){ return?x?+?y;} /*?C实现文件 cFile.c/* 这样会编译出错:#i nclude cExample.h?*/externint?add(?int?x,?int?y );int?main(?int?argc,?char*?argv[] ){ add(?2,?3?);? return0;} 16.?关联、聚合(Aggregation)以及组合(Composition)的区别? 涉及到UML中的一些概念: 关联是表示两个类的一般性联系,比如“学生”和“老师”就是一种关联关系; 聚合表示has-a的关系,是一种相对松散的关系,聚合类不需要对被聚合类负责,如下图所示,用空的菱形表示聚合关系: 从实现的角度讲,聚合可以表示为: class A {...}? class B { A* a; .....} 组合表示contain
您可能关注的文档
最近下载
- (湘科2024版)科学一年级上册全册教学案.pdf VIP
- 环氧磨石地坪施工方案.doc VIP
- 2024-2025学年统编版(2024)小学道德与法治五年级下册(全册)教学设计及反思(附目录P110完整版).docx VIP
- 四川省2024年普通高等学校高职教育单独招生文化考试(普高类)语文真题及答案解析(真题解析版).docx VIP
- 混龄游戏活动对小班幼儿社会性发展的影响研究.pdf VIP
- 2025道路沥青红外光谱法快速识别技术规程.docx VIP
- 输变电工程标准工艺(变电工程电气分册)2024版.pptx VIP
- 《VFD-E_使用手册》.pdf VIP
- 小学五年级数学课题研究计划.docx VIP
- 2025《基于S7-1200控制器的S电站渗漏排水系统电气控制设计》14000字.docx VIP
文档评论(0)