乐趣区

关于c++:c面经

  1. 语法层面
    static 关键字的作用有哪些(润饰全局变量、润饰局部变量、润饰类的成员函数和数据成员)
    (扩大:name 的两个独立的性质:存储周期 storage duration 和 链接性 linkage)
    const 关键字(润饰类型、润饰成员函数、润饰指针)
  2. 语义层面
    指针和援用的区别是什么?
    c++11 退出的右值援用、挪动语义、完满转发的含意
  3. 内存相干
    2.1 new 和 malloc 的区别,new 做了什么
    new operator、operator new、placement new 三者的作用和区别
    2.2 c++11 内存治理,智能指针(shared_ptr、unique_ptr、enable_shared_from_this、weak_ptr)
    2.3 程序的内存调配(和操作系统联合起来)
  4. stl 相干
    2.1 vector
    push_back 的工夫复杂度(均摊剖析)
    push_back 的强异样平安保障
    迭代器生效问题
    扩容问题
    2.2 map、set 红黑树
    2.3 unordered_map 哈希表
  5. 基于对象
    初始化列表(必须应用:const 成员、援用类型)
    成员函数(const、virtual、pure vritual)
    几个特地的成员函数(默认结构、拷贝、挪动、析构)
  6. 面向对象
    封装:访问控制关键字
    继承:虚函数重写、override
    多态:虚函数机制、类型转换操作符

重载、重写、暗藏的区别

  1. 多线程
    锁、条件变量、线程、原子变量
  2. 友元相干
    friend
退出移动版