- 博客(90)
- 收藏
- 关注
原创 极限c++模拟卷
以下关于 C++ 指针和引用的描述,错误的是( )A. 指针可以为空,引用必须初始化且不能引用空值B. 指针需要解引用访问值,引用可直接当作原变量使用C. 指针的类型是存储地址的变量,引用是变量的别名D. 指针和引用都支持自增、自减操作关于 C++ 类的构造函数,说法正确的是( )A. 构造函数必须有返回值类型B. 一个类只能有一个构造函数C. 构造函数可以用const修饰D. 构造函数用于初始化对象成员以下实现多态的核心条件是( )A. 函数重载。
2025-06-05 17:14:55
789
原创 STL 库基础概念与示例
自动去重并按字符 ASCII 值排序,插入重复元素无效。按插入顺序存储,需手动排序,支持下标和迭代器遍历。简化值的修改,键唯一(重复插入同一键会更新值)。
2025-06-04 14:24:10
325
原创 智能指针。多个指针共享同一资源,最后一个释放资源”
因为智能指针的引用计数本质是一个整数增减操作,原子操作可以高效且无锁地完成这一任务,避免了锁带来的上下文切换开销和潜在的死锁风险。在实际应用中,推荐优先使用。
2025-06-03 18:46:24
326
原创 一、类模板
在嵌入式框架中,常通过模板实现通用组件(如驱动层模板),继承时需处理模板参数的传递。当模板参数为特定类型时,希望自定义模板的实现(如特殊算法、优化逻辑),此时需使用。:派生类本身是模板类,继承时可复用基类模板的参数,或重新定义参数。:一个普通类(非模板类)继承自类模板,需为模板参数指定具体类型。:部分指定模板参数(参数个数或范围特化),保留部分模板特性。,派生类可 “继承” 基类参数或扩展参数,保持模板特性。,保留灵活性,语法上 “留一半,特化一半”。,基类变为具体类型,派生类无模板特性。
2025-06-03 16:19:48
469
原创 一、核心概念深入解析
shared_ptr原理:引用计数、RAII、线程安全边界(计数安全,对象操作需同步)。最佳实践:优先,避免裸指针,用weak_ptr解决循环引用。weak_ptr定位:辅助shared_ptr,仅观察不持有资源,需通过lock()访问数据。场景题:能结合双向链表等场景,分析循环引用成因并给出解决方案。通过以上梳理,可系统掌握shared_ptrweak_ptr的核心知识,从容应对面试中的原理分析与场景题。
2025-06-03 15:28:13
495
原创 【无标题】
1. 策略模式(Strategy Pattern)核心:将算法封装为独立的策略类,通过决策者动态选择策略。结构策略类:实现不同的算法逻辑(如不同技能、排序算法)。决策者类:持有策略接口,负责选择和执行策略。优点:算法可自由切换,符合开闭原则。应用:游戏技能系统、支付方式选择。2. 代理模式(Proxy Pattern)核心:通过代理类控制对真实对象的访问,隐藏其实现细节。结构抽象基类:定义公共接口。真实类:实现具体功能。代理类:持有真实类引用,可增强或限制访问(如权限检查)。优点。
2025-05-30 14:29:19
697
原创 英雄类(Hero)
定义英雄类(Hero):定义武器类:cpp代码解析 武器类: 定义三个空类(Blade、Sword、Axe),仅用于类型区分,无需成员(因题目未要求武器有属性或方法,只需类型判断)。英雄类方法:主函数测试: 依次装备三种武器,调用输出属性变化,验证装备效果。plaintext关键知识点 函数重载:通过不同参数类型(武器类)实现同一函数名的不同行为,处理多态逻辑(静态多态)。 类的封装:属性私有,通过 public 接口(set、get、装备方法)访问和修改,符合面向对象设计
2025-05-28 19:56:20
542
原创 C++ 面向对象编程核心知识点
当类中包含动态分配的内存(如指针)时,需手动实现深拷贝避免内存泄漏。:文档提到 “函数参数为对象时,会用实参初始化形参,调用拷贝构造函数”。类,包含动态分配的字符数组,支持拷贝构造、赋值运算符重载(深拷贝),以及。(1)什么是 “名字隐藏”?:文档明确说明 “构造时先基类后派生类,析构时顺序相反”。(2)简述深拷贝和浅拷贝的区别,何时需要手动实现深拷贝?(1)菱形继承会导致基类成员在派生类中重复,可通过。A. 构造时先派生类后基类,析构时先基类后派生类。B. 构造时先基类后派生类,析构时先派生类后基类。
2025-05-28 15:06:50
597
原创 在 C++ 中,当回调函数是类的成员函数时,this指针的指向由调用该成员函数的对象决定
将回调函数声明为静态成员函数,显式传递对象指针作为参数,通过指针访问成员函数。通过全局函数或友元函数作为 “中介”,接收对象指针并调用成员函数。普通函数指针无法直接指向成员函数,因为成员函数的隐式第一个参数是。指针隐式指定对象),因此需要确保回调机制能正确传递或捕获对象的。指针正确指向目标对象,实现面向对象的回调逻辑。在 C++ 中,当回调函数是类的成员函数时,通过上述方法,可确保类的成员函数作为回调时,由于成员函数必须通过对象调用(或通过。的闭包,从而在回调中正确调用成员函数。:成员函数指针的类型为。
2025-05-27 20:12:46
401
原创 封装文档核心知识点总结(通俗版)
1. 封装:把数据和功能打包成一个类目的:隐藏细节,只暴露必要的接口。比如把 “学生” 的姓名、成绩和相关操作(如显示成绩)封装成Stu类。实现:用private隐藏数据,public暴露方法(如show()setScore()案例:文档中的mystring类封装字符串操作(拷贝、拼接、比较),File类封装文件读写。2. 构造函数:对象的 “出生证明”作用:创建对象时自动初始化成员变量。特点函数名与类名相同,无返回值(连void都不写)。
2025-05-27 19:30:09
326
原创 烦了。。。。。
通过以上分析,可以清晰看到代码如何体现文档中关于封装和构造函数的核心概念,建议结合编译错误和调试输出进一步理解构造函数的调用顺序和隐式转换规则。
2025-05-22 15:26:09
875
原创 TCP 粘包
特性TCP 粘包UDP 无粘包协议类型流式协议(无边界)数据报协议(有边界)问题根源发送 / 接收速度不一致、缓冲区累积每个数据报独立,内核自动维护边界解决方法应用层封包(长度字段 + 数据)无需处理,直接按数据报接收典型场景文件传输、消息通信(需自定义协议)实时数据传输(如 DNS、视频流)注意:TCP 粘包是应用层问题,需通过协议设计解决;UDP 因数据报特性天然避免粘包,但需处理丢包和乱序问题。
2025-05-15 17:04:31
954
原创 超时检测机制和心跳包机制(Heartbeat)
c// 消息类型:数据/心跳// 消息类型// 数据内容// 客户端地址// 最后活跃时间超时检测是网络编程中处理阻塞操作的关键机制,通过的超时参数或setsockopt设置套接字超时,结合信号处理可实现灵活的超时控制。心跳包通过应用层协议维护连接状态,适用于长连接场景(如 IM、IoT),需结合时间函数()和数据结构(如客户端列表)实现。UDP 无连接特性导致心跳包需额外维护客户端地址和时间戳,通常通过多线程定时检查超时。实际应用中常结合超时检测和心跳包,确保网络连接的可靠性和健壮性。
2025-05-15 17:01:46
569
原创 UDP 多点通信
是网络编程中配置套接字行为的核心函数,通过不同层级和选项可实现端口重用、超时控制、组播加入等高级功能。UDP 广播:适用于局域网内的一对多通信,但存在广播风暴风险,且无法跨路由。UDP 组播:通过组播组实现高效的一对多通信,节省网络资源,适合实时数据传输。注意事项广播发送方需设置选项,接收方需绑定广播地址。组播接收方需通过加入组播组,发送方直接向组播 IP 发送数据。
2025-05-15 16:57:21
874
原创 服务器连接多客户端
epoll 优势高并发:基于红黑树和激活列表,适合管理上万级连接。高性能:事件通知复杂度 O (1),减少 CPU 消耗。灵活性:支持 LT/ET 模式,适配不同场景。使用建议高并发服务器首选 epoll,配合 ET 模式和非阻塞 I/O。简单场景或跨平台需求使用 select/poll。注意设置文件描述符非阻塞,避免 ET 模式下的数据丢失。
2025-05-15 16:51:44
834
原创 Socket API 核心函数详解
cc 2. - 绑定地址和端口cc 3. - 监听连接cc 4. - 接受连接cc 5. - 建立连接(客户端)cc 6. / - 发送 / 接收数据cc 二、UDP 核心函数1. - 发送 UDP 数据报cc 2. - 接收 UDP 数据报cc 三、TCP 与 UDP 的核心区别 特性 TCP UDP
2025-05-14 20:18:13
1095
原创 TCP套接字通信核心要点
TCP套接字通信围绕地址绑定、连接管理、协议设计展开,需掌握服务端/客户端搭建流程、粘包处理及协议包解析方法,结合错误处理实现稳定通信。
2025-05-09 21:02:46
811
原创 网络编程(一)
1. 网络编程基础目的:了解互联网数据传输过程、常见问题及解决方法,掌握不同协议和模型下的通信实现。协议:通信双方需遵循相同协议(数据表示与识别的规则)确保数据正常收发。2. 套接字(Socket)操作方式:通过int类型的套接字文件描述符操作网络通信。功能发送端将数据写入套接字文件,接收端从中读取数据。套接字文件包含接收端的IP地址和端口号,用于准确定位主机和进程。3. OSI七层模型与TCP/IP四层模型分层原因:各层独立工作,便于维护和快速定位问题。OSI七层模型应用层。
2025-05-07 19:59:07
778
原创 IO 核心要点(1)
这里要改造,要支持loading 前置图标,内容,后缀图标,按钮箭头图标。这里要改造,要支持loading 前置图标,内容,后缀图标,按钮箭头图标。
2025-04-24 20:18:53
634
原创 数据结构作业
特点逻辑结构为线性结构,物理结构为顺序存储。类似数组,但需额外记录实际元素个数(len字段)。结构体定义c// 存储数据的数组int len;// 当前元素个数顺序表是线性表的顺序存储实现,核心操作需注意元素移动和边界条件,适合读多写少的场景,但插入/删除效率较低。
2025-04-15 20:35:43
792
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人