- 博客(194)
- 收藏
- 关注
原创 C++_面试15_零拷贝
零拷贝(Zero-Copy)是一种减少或消除 CPU 内存复制的技术,使数据在。数据只在内核内部移动,或者直接经 DMA 发送到 NIC,大幅减少 CPU 开销与上下文切换。
2025-11-17 08:00:38
592
1
原创 C++_面试题15_lambda表达式
1)lambda 表达式3.在 make_printer 中填写lambda,使得 main 中调用 printer()能正确输出 42,并且不发生悬空引用或未定义行为。至少给出两种不同写法,并解释其差异(例如:值捕vsstd::shared_ptr 等)。int x= 42:autof=/*TODO: 在这里写一个lambda *///要求:返回的lambda在的数返回后仍能正确打印42retumn fprinter();// 期望输出:42int x = 42;
2025-11-16 10:22:44
407
原创 C++_面试题13_QVector和QList的区别
QVector 的迭代器只要遇到内存重分配(扩容)就全部失效。即使没有扩容,insert/erase 也会让插入/删除位置之后的迭代器失效。clear() 也会失效。这是因为 QVector 底层是连续内存结构。
2025-11-14 11:44:44
572
原创 C++面试题_12_SOLID原则
SOLID 是面向对象设计的五条原则组合,有助于提高代码可维护性、可扩展性与可测试性。每条原则都简短明确 —— 下面逐条说明并给出简洁的 C++ 风格示例与常见陷阱。
2025-11-13 08:50:04
524
原创 C++面试10反转链表
/ 保存下一个节点。// 移动 prev。// 移动 curr。// prev 是新的头节点。// 创建测试链表 1->2->3->4->5。cout << "原链表: ";cout << "反转后: ";原链表: 1 2 3 4 5。反转后: 5 4 3 2 1。
2025-11-10 10:25:11
305
原创 C++面试题7_进程间通信的方式有哪些?
常见的进程间通信方式有管道(匿名管道、命名管道)、消息队列、共享内存、信号量、信号、Socket、内存映射文件等。其中:管道简单但只能用于亲缘进程;消息队列支持结构化消息;共享内存效率最高;信号量用于同步;Socket 可跨主机通信。
2025-11-07 09:17:11
543
原创 C++面试5_ TCP 粘包
TCP 是面向字节流(byte stream)的协议,它只保证数据按序传输、不丢不重,但不保证消息边界。也就是说,TCP 看到的是一串连续的字节流,而不是一条条独立的“消息”。因此,在应用层上发送的数据,到了接收方时,可能会出现以下几种情况:发送方接收方。
2025-11-06 15:00:26
677
原创 C++面试3_多重继承
多重继承(Multiple lnheritance)是指一。缺点:容易引起命名冲突、二义性、以及“菱形继承”问题。这样 c 同时拥有 A和 B的成员。
2025-11-06 07:58:23
515
原创 C++面试题2_多态
C++多态让同一个接口(函数调用)在不同对象上表现出不同的行为静态多态靠编译器决议(重载、模板),动态多态靠运行时虚表机制(virtual)。(Polymorphism)是面向对象编程的三大特性之一(封装、继承、多态),它让同一个接口在不同对象上表现出不同的行为。void speak() override { cout << "喵喵喵" << endl;,则只会调用 Animal::~Animal(),不会调用 Dog::~Dog(),4.调用实际函数(Dog::speak()或cat::speak())
2025-11-06 07:13:27
871
原创 C++面试题1—析构虚函数
虚析构函数保证了“通过基类指针删除派生类对象”时,调用真正的析构过程。// ✅ 调用 Derived 和 Base 析构函数。// ⚠️ 只调用 Base 析构函数。派生类部分(如成员对象、动态分配资源)没有被释放;操作会根据实际对象类型调用正确的析构函数链。当类中有虚函数时,编译器会为对象维护一个。删除对象时,如果析构函数是虚函数,在 C++ 中,多态依赖。
2025-11-05 08:57:20
262
原创 mysql server 9.4 windows安装教程(sqlyog 下载)
打开命令提示符:按 Win + R 键,输入 cmd 并按回车。
2025-10-15 13:56:54
351
原创 QtCreator项目转VS工程
3、此时大家就会发现该项目所在文件夹目录下生成了一个项目名.vcxproj的文件,双击打开,就在。1、首先先将qmake.exe文件所在的bin目录添加到环境变量path下。
2025-09-15 10:40:02
337
原创 C++_面试4_析构函数的执行时机
局部对象→ 析构在main()返回之前静态/全局对象→ 析构在main()返回之后动态对象→ 析构在delete时执行(如果没delete,就不会调)程序启动│├─► (1)构造全局/静态对象(静态存储期)│▼进入 main()│├─► (2)进入某个作用域时,构造局部对象││ ... 程序运行 ...│├─► (3)离开作用域,局部对象析构│▼main() 结束│├─► (4)析构 main 里的局部对象(自动存储期)▼。
2025-08-10 08:07:22
338
原创 QT的moveToThread 用法
Q_OBJECT// ... 执行耗时任务主线程中创建并启动线程 + 移动对象// 将 worker 移动到新线程// 当线程启动后,调用 worker 的槽函数// 处理线程完成时清理// 启动线程。
2025-07-23 20:35:59
930
原创 Qt 的 事件队列
Qt 的事件队列是一个线程安全的机制,它确保事件(包括跨线程信号)按照顺序、安全地投递给合适的对象,只要该对象所在的线程在运行事件循环。
2025-04-16 22:28:53
1114
原创 QT的信号槽的直接触发,队列触发,自动触发
直接触发:信号发射后,槽函数立即执行(通常用于同一线程)。队列触发:信号被放入接收线程的事件队列,槽函数在事件循环中执行(通常用于跨线程)。自动触发:Qt会根据线程关系自动选择触发方式。
2025-04-16 22:20:13
1147
原创 Qt Quick centerIn和fill 的用法
1)Qt Quick centerIn和fill 的用法:width:300;height:200;width: 120;height:120;radius:8;
2024-04-25 14:32:08
263
原创 Opencv_15_鼠标操作与响应
setMouseCallback("鼠标绘制", on_draw,(void*)(&image));namedWindow("鼠标绘制", WINDOW_AUTOSIZE);imshow("ROI区域", image(box));imshow("鼠标绘制", image);imshow("鼠标绘制", image);imshow("鼠标绘制", image);
2024-04-24 17:48:00
304
原创 Opencv_11_通道的分离与合并
imshow("蓝色", mv[0]);imshow("绿色", mv[1]);imshow("红色", mv[2]);imshow("通道混合", dst);imshow("红色", dst);
2024-04-23 16:41:37
395
原创 opencv_6_滚动条操作显示
createTrackbar("Value Bar:", "亮度调整", &lightness, max_value, on_track);namedWindow("亮度调整", WINDOW_AUTOSIZE);imshow("亮度调整", dst);
2024-04-22 16:46:33
233
原创 opencv_5_图像像素的算术操作
namedWindow("加法操作", WINDOW_FREERATIO);imshow("加法操作", dst);
2024-04-22 15:48:49
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅