电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2024年cc++笔试题汇总软件工程师学习用VIP免费

2024年cc++笔试题汇总软件工程师学习用_第1页
2024年cc++笔试题汇总软件工程师学习用_第2页
2024年cc++笔试题汇总软件工程师学习用_第3页
*1.求下面函数的返回值(微软)intfunc(x){intcountx=0;while(x){countx++;x=x&(x-1);}returncountx;}假定x=9999。答案:8思绪:将x转化为2进制,看具有的1的个数。2.什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目的变量的“别名”(alias),对引用的操作与对变量直接操作效果完全相似。申明一种引用的时候,牢记要对其进行初始化。引用申明完毕后,相称于目的变量名有两个名称,即该目的原名称和引用名,不能再把该引用名作为其他变量名的别名。申明一种引用,不是新定义了一种变量,它只表达该引用名是目的变量名的一种别名,它自身不是一种数据类型,因此引用自身不占存储单元,系统也不给引用分派存储单元。不能建立数组的引用。!!!!!!!!!!!!!!!!!!!!3.将“引用”作为函数参数有哪些特点?(1)传递引用给函数与传递指针的效果是同样的。这时,被调函数的形参就成为本来主调函数中的实参变量或对象的一种别名来使用,因此在被调函数中对形参变量的操作就是对其对应的目的对象(在主调函数中)的操作。(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分派存储单元,形参变量是实参变量的副本;假如传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。(3)使用指针作为函数的参数虽然也能到达与使用引用的效果,不过,在被调函数中同样要给形参分派存储单元,且需要反复使用"*指针变量名"的形式进行运算,这很轻易产生错误且程序的阅读性较差;另首先,在主调函数的调用点处,必须用变量的地址作为实参。而引用更轻易使用,更清晰。4.在什么时候需要使用“常引用”?假如既要运用引用提高程序的效率,又要保护传递给函数的数据不在函数中被变化,就应使用常引用。常引用申明方式:const类型标识符&引用名=目的变量名;例1inta;constint&ra=a;ra=1;//错误a=1;//对的例2stringfoo();voidbar(string&s);那么下面的体现式将是非法的:bar(foo());bar("helloworld");原因在于foo()和"helloworld"串都会产生一种临时对象,而在C++中,这些临时对象都是const类型的。因此上面的体现式就是试图将一种const类型的对象转换为非const类型,这是非法的。引用型参数应当在能被定义为const的状况下,尽量定义为const。!!!!!!!!!!!!!!!!!!!!5.将“引用”作为函数返回值类型的格式、好处和需要遵守的规则?格式:类型标识符&函数名(形参列表及类型阐明){//函数体}好处:在内存中不产生被返回值的副本;(注意:正是由于这点原因,因此返回一种局部变量的引用是不可取的。由于伴随该局部变量生存期的结束,对应的引用也会失效,产生runtimeerror!注意事项:(1)不能返回局部变量的引用。这条可以参照EffectiveC++[1]的Item31。重要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态。(2)不能返回函数内部new分派的内存的引用。这条可以参照EffectiveC++[1]的Item31。虽然不存在局部变量的被动销毁问题,可对于这种状况(返回函数内部new分派内存的引用),又面临其他尴尬局面。例如,被函数返回的引用只是作为一种临时变量出现,而没有被赋予一种实际的变量,那么这个引用所指向的空间(由new分派)就无法释放,导致memoryleak。(3)可以返回类组员的引用,但最佳是const。这条原则可以参照EffectiveC++[1]的Item30。重要原因是当对象的属性是与某种业务规则(businessrule)有关联的时候,其赋值常常与某些其他属性或者对象的状态有关,因此有必要将赋值操作封装在一种业务规则当中假如其他对象可以获得该属性的非常量引用(或指针),那么对该属性的单纯赋值就会破坏业务规则的完整性。(4)流操作符重载返回值申明为“引用”的作用:流操作符<<和>>,这两个操作符常常但愿被持续使用,例如:cout<<"hello"<

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

静心书店+ 关注
实名认证
内容提供者

专注于各类考试试卷和真题。

最新文章

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群