• 图纸下载
  • 专业文献
  • 行业资料
  • 教育专区
  • 应用文书
  • 生活休闲
  • 杂文文章
  • 范文大全
  • 作文大全
  • 达达文库
  • 文档下载
  • 音乐视听
  • 创业致富
  • 体裁范文
  • 当前位置: 达达文档网 > 范文大全 > 正文

    c++工程师面试试题汇编

    时间:2023-02-09 15:19:47 来源:达达文档网 本文已影响 达达文档网手机站

      c++工程师面试试题汇编

      在日常学习、工作生活中,我们最不陌生的就是试题了,借助试题可以更好地考查参试者所掌握的知识和技能。你所了解的试题是什么样的呢?下面是达达文档网小编为大家整理的c++工程师面试试题,希望对大家有所帮助。

    c++工程师面试试题汇编

      1、 c++是面向对象的编程语言吗?C++中虚函数(virtual) 是什么?有什么好处?

      (1)C++不是纯面向对象的语言,C++是面向对象和过程的,因为C++支持类和过程。

      (2)虚函数(virtual)具有传递性,即子类中对父类的虚函数的重写,也是一个虚函数 ,不过函数的参数表也要一样。

      (3)可以让成员函数操作一般化,用基类的指针指向不同的派生类的对象时,基类指针调用其虚成员函数,则会调用其真正指向对象的成员函数,而不是基类中定义的成员函数(只要派生类改写了该成员函数)。若不是虚函数,则不管基类指针指向的哪个派生类对象,调用时都会调用基类中定义的那个函数。

      2、 谈谈指针和引用的区别?

      指针用操作符“*”和“—>”,引用使用操作符“&”。

      相同点是:指针与引用都是让你间接引用其他对象。

      区别:(1)指针是一个实体,指向一块内存,它的内容是所指内存的地址;而引用仅是个别名,是某块内存的别名。

      (2)引用使用时无需解引用(*),指针需要解引用;

      (3)引用只能在定义时被初始化一次,之后不可变,“从一而终”;指针可变;

      (4)引用没有 const类型,指针有 const类型,const 的指针不可变;

      (5)引用不能为空,指针可以为空;

      (6)“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的'变量或对象的地址)的大小;typeid(T) == typeid(T&) 恒为真,sizeof(T) == sizeof(T&) 恒为真,但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。

      (7)指针和引用的自增(++)运算意义不一样;

      3、 c++中 const修饰符一般用于那几种情况,具体作用是什么?

      (1)用常量定义 const int n = 100;

      用于常量参数 即 fn(const int & a)

      用于常量函数,即类的该函数不修改其状态。

      用于返回值

      (2)可以定义const常量,具有不可变性; 便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患; 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性;为函数重载提供了一个参考; 可以节省空间,避免不必要的内存分配;提高了效率。 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

      4、 你在程序代码中用assert吗?assert一般用于做什么?

      (1) 是我常用。

      (2)主要用于DEBUG下断言,即假设一定是这样的,否则就是错误的。例如 asser ( a > 100 );

      5、 i++ 相比 ++i 哪个更高效?为什么?

      (1)++i 比 i++效率高。

      (2)i++要多调用一次类的构造和析够函数


     

    相关热词搜索: 工程师 面试 试题

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网