- 1、平时使用哪个版本的C++?
- 讲一下这个版本C++做了什么改进,引入了什么新特性?
- 答:C++11和C++14。
- 引入了代表RAII思想的智能指针和锁管理包装类(lock_guard、scoped_lock等)。
- 其基本思想就是,自动管理资源的获取和释放,即:在构造对象时,自动获取内存或锁;
- 在析构对象时,自动释放其管理的内存或锁。
- 2、了解C++多态和继承吗?简单讲一下C++多态如何实现。答:继承分为共有、私有和保护。子类对象继承父类之后,根据不同继承关系有可能可以调用父类变量或函数。例如:共有继承下,子类则可以使用父类共有函数。至于多态,一般来说,C++依靠函数重载和虚函数实现。其中,函数重载是静态的,虚函数重写则是动态的。
- 因为依靠虚函数实现的多态,需要根据内存实际指向判断调用哪一个版本的函数。3、了解C++内存管理吗?简单说一下C++的内存管理。
- 答:我刚刚也提到了,C++内存管理主要是依靠智能指针。
- 比如:shared_ptr能够根据引用数量决定是否释放,当引用数量为0时,自动释放其管理的内存。
- 而unique_ptr则是在其析构时,自动释放其管理的内存。
- 追问:讲一下C++中new和malloc的区别答:new返回类型指针,而malloc返回void *指针,需要用户自己将其转换为所需类型。
- 此外,malloc使用时需要计算申请内存大小,而new则是直接使用对象构造函数。
- 4、熟悉C++多线程编程吗?
- 讲一下C++多线程编程中的锁、条件变量和线程的基本使用。
- 答:讲了mutex的包装器用法、condition_variable的wait和notify和thread的初始化。
- 此外,还提到了条件变量的虚假唤醒和一个线程池的基本实现。
- 5、之前使用过模板编程吗?讲一下C++模板编程。答:使用过。除了基本的模板类和模板函数,我还实现过迭代器,并使用了模板萃取技术。主要参考了STL模板库解剖。
杭州市 · 计算机软件 · 500-999人 · 成立21年 · 火热招聘
#虹软科技#汇声汇色#ArcNote#美妆秀#人工智能
公司全称
虹软科技股份有限公司
上下班时间
上午08:30-下午05:30
偶尔加班
联系方式
0571-88210600
office@arcsoft.com
...更多
地址
浙江省杭州市滨江区长河街道滨兴路392号(虹软大厦)19楼
简介
-