全程中文问答。一小时,四五个没答出来,所以应该挂了。#牛客AI配图神器#提问包括但不限于:1. new/malloc区别? 答,**但是new重载这一块模糊**。2. 说说智能指针? 共享指针引用计数、独占指针删除copy 构造/赋值运算符,weak_ptr 解决循环引用。常规的答的还行。3. vector,删除指定值的元素(例如5和6)。 考这个原因是迭代器失效? 4. 问了gdb的指令,比如准备用gdb,gcc加什么选项,-O3和-g可以一起使用吗? 如何查看线程?如何判断xx文件可以用gdb调试呢?大部分没答出来。5. 实现单例,但是被问懵了,问我析构函数为什么是私有? 于是我又把它改成公有,本质还是不知所以然。查了一下gpt,回答&quot;在 get() 方法中,使用了静态局部变量(static Singleton instance;),C++ 规定:• 静态局部变量在程序退出时会自动析构,因此不需要显式释放。• C++11 以后,静态局部变量的初始化是线程安全的,不会引起并发问题。所以,我们不需要提供手动的析构方式。&quot;6. 深拷贝/浅拷贝。 7. 你认为拿得出手的模块实现?然后扣细节,最后也被扣懵了。```#include <iostream>#include <vector>using namespace std; int main() { vector<int> vec = {1, 2, 3, 5, 6, 5, 7, 6}; int pos = 0; int n = vec.size(); for (; pos < n;) { if (vec[pos] == 5 || vec[pos] == 6) { vec.erase(vec.begin() + pos); n = vec.size(); } else { pos ++; } } for (auto value : vec) { cout << value << ' '; }}``````class Singleton {public: static Singleton&amp; get() { static Singleton instance; return instance; } int getValue() { return value; } void setValue(int value_) { value = value_; }private: Singleton() = default; ~Singleton() = default; int value;};int main() { Singleton::get().setValue(42); std::println(&quot;value={}&quot;, Singleton::get().getValue());}```参考1. https://en.wikipedia.org/wiki/Singleton_pattern2. https://en.cppreference.com/w/cpp/language/storage_duration3. https://stackoverflow.com/questions/15235526/the-static-keyword-and-its-various-uses-in-c