众所周知,在找工作时笔试题目往往对C++有大量考察,现在我们总结一些C++中比较重要而且可能会考到的知识。

  1.判断一下A,B,C,D四个表达式是否正确。

  int a = 4;

  A:a += (a ++)  B:a += (++ a)  C:(a ++) += a  D:(++ a) += (a ++)

  【分析】这道题目考察C++语言中的“++”运算符及表达式的相关知识,显然C是错误的,因为赋值运算符左侧不是一个有效变量,不能赋值。

  2.C++中的模板类有什么优势?

  【分析】考察C++语言中模板类的认识和理解,根据在实践中应用模板类的体会,可以总结如下:

  • 可用来创建动态增加或减少的数据结构;
  • 它是类型无关的,因此具有很高的可复用性;
  • 它在编译时而不是运行时检查数据类型,保证了类型的安全;
  • 它是平台无关的,具有很好的移植性;

  3.将“引用”作为函数的参数有哪些特点?

  【分析】本题深入考察了对引用的理解和利用,同事考察对函数的三种传递参数方式的理解,总结如下:

  • 传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就被当成原来主调函数中实参变量或对象的一个别名,所以在被调函数中对形参变量的操作就是对其相应目标对象的操作。
  • 使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本,如果传递的是对象,还要调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率更高,所占空间也更少。
  • 使用指针作为函数的参数虽然也能达到跟使用引用相同的效果,但是,一方面,在被调函数中同样要给形参分配存储单元,在使用时需要重复使用以“指针变量名”的形式进行运算,这很容易产生错误且程序的可读性较差,另一方面,在主调函数的调用点处,必须用变量的地址作为实参。因而引用更容易使用,更清晰。

最新文章

  1. 源码编译安装 MySQL 5.5.x 实践
  2. spring mvc 第三天【注解实现springmvc Handler返回值为Object 的配置】
  3. java&Protocol Buffers
  4. Android Studio @Bind的用法,自动生成findViewById无需再实例化控件
  5. vim解决中文显示乱码问题
  6. C语言指针类型 强制转换
  7. NET 领域驱动设计实战系列总结
  8. JMeter 插件 Json Path 解析HTTP响应JSON数据
  9. Linux基础一
  10. 关于FGPA的复位
  11. linux 工具学习网站
  12. [Manthan, Codefest 18][Codeforces 1037E. Trips]
  13. 机器学习性能指标(ROC、AUC、召回率)
  14. STM32F103C8架构
  15. itexpdf同一个段落不同文字,如何设置不同的格式
  16. wordpress必装的插件 wp最常用的十个插件
  17. Random随机类
  18. Codeforces Round #279 (Div. 2) B - Queue 水题
  19. shell爬虫简易脚本(线程数可控)
  20. How to use transparent PNG icons with Delphi ImageList

热门文章

  1. 解题报告:hdu1008 Elvator
  2. sass快速入门 - 笔记
  3. 字体渲染技术(字体抗锯齿技术) -webkit-font-smoothing: antialiased;
  4. MySQL MVVC
  5. js打乱数组的实战应用
  6. django from验证组件
  7. Android Studio 3.0 及个版本下载和 gradle 各版本下载
  8. docker远程仓库镜像推送到本地仓库
  9. 各种数据库对应的jar包、驱动类名和URL格式
  10. Struts2异常处理配置