zoukankan      html  css  js  c++  java
  • 关于C++一些面试题目的总结

      众所周知,在找工作时笔试题目往往对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.将“引用”作为函数的参数有哪些特点?

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

    • 传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就被当成原来主调函数中实参变量或对象的一个别名,所以在被调函数中对形参变量的操作就是对其相应目标对象的操作。
    • 使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本,如果传递的是对象,还要调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率更高,所占空间也更少。
    • 使用指针作为函数的参数虽然也能达到跟使用引用相同的效果,但是,一方面,在被调函数中同样要给形参分配存储单元,在使用时需要重复使用以“指针变量名”的形式进行运算,这很容易产生错误且程序的可读性较差,另一方面,在主调函数的调用点处,必须用变量的地址作为实参。因而引用更容易使用,更清晰。
  • 相关阅读:
    Introduce myself
    二叉搜索树的后序遍历序列(剑指offer-23)
    从上到下打印二叉树(剑指offer-22)
    二叉树的深度(剑指offer-38)
    不用加减乘除做加法(剑指offer-48)
    栈的压入、弹出序列(剑指offer-21)
    Java容器
    包含min函数的栈(剑指offer-20)
    在Docker中创建Mongodb数据库
    词向量聚类实验
  • 原文地址:https://www.cnblogs.com/coderchuanyu/p/4245204.html
Copyright © 2011-2022 走看看