- 博客(136)
- 资源 (3)
- 收藏
- 关注
原创 class和struct的区别
特性structclass默认成员访问权限publicprivate默认继承权限publicprivate支持成员函数✅ 支持✅ 支持支持构造/析构函数✅ 支持✅ 支持支持继承/虚函数/多态✅ 支持✅ 支持一般使用场景数据结构(类似 C)封装、类设计。
2025-07-22 11:55:47
156
原创 c++中memcpy实现增强版
我实现了一个增强版memcpy,它支持对内存区域进行安全复制,包括当目标地址和源地址发生重叠的情况。在实现中我判断了是否存在重叠,并根据位置选择正序或反序复制,类似于标准库中的memmove。如果面试中严格要求实现memcpy行为,我也可以提供一个不考虑重叠、更接近标准定义的版本。如果你有更高需求(比如内存对齐、SIMD 优化、编译器 intrinsic 支持等),我也可以继续帮你升级版本。需要吗?
2025-07-22 11:25:38
155
原创 c++实现memcpy
我实现了一个memcpy函数,支持将任意源地址内容复制到目标地址。考虑了基本的空指针检查和字节级拷贝。在优化版本中,我使用size_t对齐的块拷贝方式,提升复制效率。需要注意的是,memcpy不适用于重叠内存区域,遇到重叠应使用memmove。如你还想实现memmove或使用SIMD优化版本,也可以告诉我,我可以继续扩展。
2025-07-22 01:22:29
305
原创 c++中的单例模式面试
单例模式核心是控制对象唯一性,在多线程环境下需要保证线程安全。实际开发中我更倾向于使用 C++11 的局部静态变量懒汉模式实现,简洁、安全、高效。
2025-07-22 01:21:47
247
原创 c++中的单例模式面试
单例模式核心是控制对象唯一性,在多线程环境下需要保证线程安全。实际开发中我更倾向于使用 C++11 的局部静态变量懒汉模式实现,简洁、安全、高效。
2025-07-22 01:18:14
365
原创 camke的面试题
概念$<...>。示例PRIVATECONFIG匹配构建类型;STREQUAL判断目标属性。用途:在配置阶段指定编译器、系统根(sysroot)、查找路径等,用于交叉编译。示例调用。
2025-07-18 01:06:11
345
原创 c++中迭代器的本质
迭代器的本质迭代器是一种行为类似指针的对象,用于遍历和操作容器中的元素。它提供了一种统一的方式来访问不同容器中的元素,而无需关心容器的具体实现细节。标准分类体系输入迭代器(Input Iterator):只能单次读取输出迭代器(Output Iterator):只能单次写入前向迭代器(Forward Iterator):可读写且单向移动双向迭代器(Bidirectional Iterator):可双向移动随机访问迭代器(Random Access Iterator):支持随机访问操作。
2025-07-10 12:01:54
932
原创 c++中如何排查死锁
判断是否死锁:程序是否卡住且无响应定位线程:使用 gdb / 日志 / helgrind 等定位线程卡在哪个锁上分析锁顺序与资源使用图,确认是否有循环等待帮你分析具体死锁代码段提供多线程死锁的调试脚本或 gdb 指令写个多线程模拟死锁 + 排查流程的例子需要哪种帮助?
2025-07-10 10:11:51
524
原创 C++ 工程师现场 Coding 面试
实现基本线程池,支持任务投递与析构时安全退出。管理、任务队列、条件变量、析构控制、RAII 管理线程生命周期。
2025-07-09 12:40:37
765
原创 C++ 性能优化指南
如何避免不必要的对象拷贝?为什么要用引用或std::move?虚函数调用有什么性能开销?传递对象时按值会拷贝整个对象,特别是大对象会频繁分配/释放内存,影响性能;应尽量改用引用或指针传递。C++11 引入移动语义(move),允许“窃取”临时对象的资源,避免深拷贝。虚函数调用需要先通过对象的虚函数表指针(vptr)查找函数地址后再调用,比直接函数调用多一次内存间接,无法内联。这种查表操作带来时间开销;此外,包含虚函数的类每个对象会多出一个指针,使用更多内存。
2025-07-09 10:27:00
895
原创 多线程与并发
如何创建和启动线程(构造),线程的生命周期(join 与 detach)、和、线程对拷贝/移动的支持,以及 C++20 引入的和停止令牌(stop token)等。:C++11 引入,它封装了操作系统线程。创建线程时传入可调用对象和参数,线程立即启动执行。不可拷贝,但可移动;新线程以独立执行流并与对象关联。必须在对象析构前调用join()或detach(),否则程序会terminate。其中join()阻塞当前线程直到目标线程结束,并使该变为不可联结;detach()
2025-07-08 02:05:31
821
原创 面向对象设计
技术点关键词作用SOLID 原则提升代码可维护性、可扩展性设计模式单例、工厂、观察者等应对常见场景的架构模式多态虚函数、纯虚函数提供接口抽象与多态行为多继承虚继承解决菱形继承的问题生命周期栈、堆、临时对象资源正确创建与释放RAII构造申请,析构释放避免资源泄露,异常安全。
2025-07-08 01:15:45
323
原创 c++语言核心
你列出的这些都是 C++ 现代编程中的关键知识点,属于高级工程师必须掌握的基础核心技能。下面我帮你逐条详细解释,并给出简要示例,方便你理解和复习。
2025-07-08 01:07:07
312
原创 c++高级工程师掌握的基本知识
方向主要知识点语言核心C++11/14/17/20,模板,泛型编程设计面向对象,设计模式,架构设计并发多线程,锁,原子操作,线程池性能与优化内存管理,缓存优化,移动语义工具调试,测试,静态分析,性能剖析系统层面网络,系统调用,跨平台新特性与未来发展Concepts,协程,模块化。
2025-07-08 01:06:33
785
原创 c++面试题智能指针
常用于管理资源如 FILE*, socket, malloc 等非 new 分配对象。管理语音会话生命周期,传递给 ASR、TTS、NLU 等多个模块,避免重复管理释放。会生成新的控制块,导致引用计数失效,可能双重 delete。,除非需要自定义删除器或继承多态场景。不拥有资源,不增加引用计数。,用于 lambda、回调等。在语音助手项目中,用。,会导致未定义行为。
2025-07-08 00:28:26
610
原创 拉取sset docker镜像
打开:https://git.swf.i.mercedes-benz.com/-/user_settings/personal_access_tokens。⚠️ 不要使用 GitLab 密码,GitLab 私有仓库通常要求使用 Personal Access Token (PAT)。✅ read_package_registry(如果有)✅ 方法 1:登录到容器注册中心(推荐)生成 Token 并复制。
2025-05-15 15:52:42
210
原创 修改日志配置文件
用于在 Linux 系统中对文件 /etc/dlt-trace-load.conf 进行原地编辑(-i 选项)。这条命令的目的是查找包含变量 $APID 的行,并将其替换为 $APID $SOFT $HARD。这将在编辑文件的同时创建一个 .bak 后缀的备份文件。
2024-10-29 23:45:38
347
原创 查看台架上已安装的DDH、DE等RPM包
综上所述,这条指令的作用是:列出系统中所有安装的软件包,然后筛选出包含特定字符串的软件包名称,最后将这些名称按照字母顺序反向排序(即从Z到A)并输出。这通常用于检查特定软件包是否已安装,以及它们的版本顺序。这条指令是Linux系统中的命令行操作,用于查询系统中安装的软件包。:这是一个管道符号,它将前一个命令的输出作为后一个命令的输入。:这个命令用于列出系统中所有已经安装的RPM软件包。在正则表达式中表示逻辑“或”,意味着匹配任一字符串。是一个文本搜索工具,用于搜索包含指定模式的行。命令用于排序文本行。
2024-10-18 17:03:45
348
原创 关闭cloud tts
dialog-audio-service.service启动文件User, Group修改。安装dialog-audio-service 1.4.1。new-dbus改成:true。
2024-10-17 19:56:11
237
MySQL大佬姜承尧47完整课程笔记,进阶涨薪必看,内含MySQL配置文件
2021-08-04
linux0.11-1-master.rar
2021-06-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人