1.自我介绍
2.共享屏幕看代码
类内不能用auto推导成员变量类型
类内的成员函数调用应该用作用域
3.struct和class区别
相同点
- 两者都拥有成员函数、公有和私有部分
- 任何class能完成的工作,struct同样能完成
不同点
- 如果不指定,struct默认公有,class默认私有
- class默认private继承,struct默认public继承
4.C++的多态
5.虚函数怎么实现动态多态
6.内联函数能定义成虚函数吗
不能定义成虚函数的函数
7.构造函数能定义成虚函数吗
8.析构函数能定义成虚函数吗
9.内联函数和一般函数有什么区别
-
内联函数和普通函数的参数传递机制相同,但是编译器会在每处调用内联函数的地方将内联函数内容展开,这样既避免了函数调用的开销
-
普通函数在被调用的时候,系统首先要到函数的入口地址去执行函数体,执行完成之后再回到函数调用的地方继续执行。
内联函数不需要寻址,当执行到内联函数的时候,将此函数展开,如果程序中有N次调用了内联函数则会有N次展开函数代码
-
内联函数有一定的限制,内联函数体要求代码简单,不能包含复杂的结构控制语句。如果内联函数函数体过于复杂(代码膨胀问题),编译器将自动把内联函数当成普通函数来执行
10.C++中哪些地方可能会内存泄漏
11.智能指针都有哪些
12.循环引用是个什么问题
13.stl用过哪些
14.vector和list使用场景
15.遍历vector有哪些方法
16.类对象的大小由哪些东西决定
- 成员变量
- 内存对齐
- 虚函数
- 继承
17.进程间的通讯有哪些方法
18.共享内存共享的结构体里有指向另外结构体的指针可以吗?
共享内存中的指针只在同一进程的地址空间中有效。如果共享结构体中有指向其他结构体的指针,这些指针指向的地址可能在其他进程中不可用。
19.TCP和UDP区别
20.UDP怎么可靠
重传机制、顺序保证、流量控制、拥塞控制
21.Qt信号和槽机制
22.槽函数和发信号函数是在同一个线程吗
可能在可能不在
23.QApplication类
QApplication
是 Qt 应用程序的核心类:它管理应用程序的生命周期和全局设置。- 创建顺序:
QApplication
必须在任何 Qt 窗口部件(如QWidget
)创建之前被实例化。 - 事件循环:
exec()
启动事件循环,处理来自用户和系统的事件。 - 退出应用程序:通过
quit()
退出事件循环,结束程序。 - 全局设置:可以通过
QApplication
设置应用程序的名称、图标、样式等。