- 博客(6)
- 收藏
- 关注
原创 C++ STL面试题
如果是每次插入元素都扩容k个位置,则每扩容k次要移动n个元素,时间复杂度是O(n)。如果是扩容两倍,则每次扩容n次要移动n个元素,时间复杂度是O(1)。此为简略说法,具体公式会较为复杂。11、Vector如何释放空间?一、什么是STL2、解释一下什么是trivial destructor3、使用智能指针管理内存资源,RAII是怎么回事?4、迭代器:++it、it++哪个好,为什么5、说一下C++左值引用和右值引用6、STL中hashtable的实现?7、简单说一下traits技法。
2024-04-25 15:13:22
532
1
原创 C++面试题总结(仍在更新)
一、static的作用1.修饰局部变量:原本被放在栈区的局部变量被放在了全局区,生命周期变长。2.修饰全局变量:让变量无法被外部链接。3.修饰函数:让函数无法被外部链接。4.修饰类:5.修饰成员函数:6.修饰成员变量:二、const的作用一、在main执行前后可能执行的代码?二、结构体内存对齐问题?三、指针和引用的区别四、传递参数时的指针和引用?七、指针数组、数组指针、指针函数、函数指针八、new delete malloc free。
2024-04-22 22:06:37
665
原创 算法题归纳
考虑数组 a=[1,3,3,5,8]a=[1,3,3,5,8]a=[1,3,3,5,8],对其中的相邻元素两两作差(右边减左边),得到数组 [2,0,2,3][2,0,2,3][2,0,2,3]。然后在开头补上 a[0]a[0]a[0],得到差分数组d=[1,2,0,2,3]d=[1,2,0,2,3]d=[1,2,0,2,3]
2024-04-21 19:23:14
675
原创 MIT 6.S081 系统调用(sys_trace)
2.在 kernel/sysproc.c 给出 sys_trace 函数的具体实现,此时a0寄存器存储的为系统调用的传递参数(不是系统调用号),将该参数传给mask,意为需要追踪的系统调用号,使用位运算的方式保存。为什么a0寄存器存储的为系统调用的传递参数?文件的 proc 结构体中,新添加一个变量 mask ,使得每一个进程都有自己的 mask ,即要跟踪的系统调用。8.在 kernel/syscall.c 中定义系统调用的名称,任务中需要打印。的格式打印进程号,系统调用名称,系统调用的返回值。
2024-04-21 16:25:37
1420
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人