C++11相关问题
(这部分看公司,有些公司是不用C++11标准的)
1.有用到过C++11吗?比较了解哪些新特性
2.智能指针是什么?
3.auto_ptr为什么被废弃了?智能指针又是如何保证安全性的
4.RAII是什么?
(这个问题面试没问,但了解以后可以额外扩展一下加深面试官印象)
RAII,也称为“资源获取就是初始化”,是c++等编程语言常用的管理资源、避免内存泄露的方法。它保证在任何情况下,使用对象时先构造对象,最后析构对象。
像C11的lock_guard和智能指针就是典型的RAII对象。
5.简单说说智能指针的实现原理
6.weak_ptr了解吗?
7.什么是右值,如何区分
8.左值引用和右值引用的区别
9.std::move和std::forward分别有什么区别
10.nullptr的好处在哪里
11.tuple了解吗?和vector比较一下
12.C++11用过哪些新库
(我个人答的是 thread , regex,chrono)
其实C++11面试很少,一般都是问底层原理,但如果想以C++为主编程语言C++11乃至14 17都是必须要了解的。
C++11剩下的比如模板可变参数,constexpr,final,匿名函数等这些新特性上文虽然没提到,但不代表不重要,实际开发中这些特性能大大提高开发效率以及程序性能。这里推荐一个B站up主的视频爱编程的大丙,他的教程都很用心讲的也很详细。