在最开头介绍的时候,面试官问我为什么投这个(HR捞的....,本来投的后端,被换成这个了),然后我以为是移动端,然后巴拉巴拉说了一下我认为的移动端的前景,然后面试官说这是PC端1.class 和 struct之间的区别在哪2.在C++中创建一个类,在一开始类中有些什么2.static的作用,以及用static修饰全局变量和不修饰的区别3.这段代码执行会发生什么```C++#include <iostream>class A {public :void f() {}};int main() {A* a = nullptr;a -> f(); return 0;}```(一开始在我看来,这就是未定义行为,应该是指向内存空间中的保留区或者是任意的一个地址; 之后我查了一下,是因为类的成员函数保存在代码段,然后被所有对象所共享吗?然后没有通过this指针去访问类中的相应成员变量,所以仍然是可以调用的嘛)4.new和malloc之间的区别在哪5.如何限制对象创建在堆/栈上?6.介绍一下线程的栈和进程的栈之间的关系7.讲一下模板元编程中的特化和偏特化,以及其和函数重载之间的区别8.讲一下异常规范9.一个进程的栈有多大10.虚函数和普通函数之间的区别在哪11.计算这个类的大小```c++#include <iostream>class base1{private:int a;char c;public:virtual void fun1(){}virtual void fun2(){}};int main() {std::cout << (sizeof(base1)); return 0;}```12.虚函数指针存储在哪13.析构函数是否要声明为虚函数14.销毁时,子类和基类调用析构函数的顺序15.介绍一下智能指针16.讲一下右值18.谈一下你对移动构造函数的理解19.写一个unique_ptr无反问有一段实习是在软件所 plct实验室用模板元编程写simd库的,面试官好像不太感兴趣,项目是XV6加上自己的一些魔改,改进了一些系统调用啥的,然后加上一个acm的铜和省金,面试官也不太感兴趣(好像也没啥好问的这些东西),全程没有涉及到OS啥的,都是C/C++,差不多都答上来了,但估计挂了,感觉最后unique指针没写好,以及全程和面试官不在同一频道