面试问题总结——关于C++(二)

  • 接着上篇面试问题总结——关于C++(一),加油!

面试问题总结——关于C++(二)_第1张图片

C++

  • 21.内联函数
    • 类 inline 函数有两种方法
  • 22.函数重载为什么函数名字可以一样,函数入口地址是按照函数名给的,那这样岂不是地址完全一样,如何实现重载的呢?
  • 23.Qt信号槽实现原理
  • 24.void* 转换
  • 25.为什么要用基类指针(引用)指向子类对象
  • 26.C++ 中的内存管理、内存分配
  • 27.栈和堆的区别
  • 28.malloc/free 和new/delete 区别
  • 29.全局变量定义在头文件中有什么问题?
  • 30.函数重载(overload)和函数重写(override)
  • 31.关于虚函数和纯虚函数
  • 32.关于多态
  • 33.什么是函数模板?函数模板算多态吗?函数模板底层如何实现?模板实例化在程序的哪个时期?
  • 34.为什么析构函数必须是虚函数?为什么C++默认的析构函数不是虚函数?
  • 35.构造函数为什么不是虚函数?
  • 36.构造函数和析构函数的作用与特性
  • 37.进程、线程、协程
  • 38.并发和并行
  • 39.vector set map list内部实现,复杂度
  • 40.关于红黑树
  • 41.map与unordered_map区别及使用
  • 42.对象创建限制在堆或栈:如何限制类的对象只能在堆上创建?如何限制对象只能在栈上创建?
  • 43.关于内存对齐:什么是内存对齐?内存对齐的原则?为什么要进行内存对齐,有什么优点?

21.内联函数

  ①定义:使用inline关键字修饰的函数即为内联函数,编译器将会尝试进行内联优化,可以避免函数调用的开销,提高代码执行效率。
(理解:正常程序运行时,调用函数这个过程会消耗时间;若使用内联函数,则把要调用的函数直接放到原有程序中,这样就减少了调用的时间,但相应的也就增加了内存。)

  ②使用说明:多次调用的,小而简单的函数适合内联;调用次数极少或大而复杂的函数不适合内联;递归函数不能内联优化;虚函数不能内联优化。

类 inline 函数有两种方法

  (1) 隐喻式:定义在类中的成员函数缺省都是内联的,如果在类定义时就在类内给出函数定义,那当然最好。

你可能感兴趣的:(视觉算法开发,软件开发—面经,c++,面试)