c++

LXS_3575 小时前
开发语言·c++·笔记·学习方法·改行学it
Day 18 C++提高 之 STL常用容器(string、vector、deque)本质:string 是 C++ 风格的字符串,而 string 本质上是一个类string 和 char * 的区别:
deng-c-f6 小时前
开发语言·c++·学习
Linux C/C++ 学习日记(53):原子操作(二):实现shared_ptr注:该文用于个人学习记录和知识交流,如有不足,欢迎指点。实现的接口:与原生shared_ptr对比要求:
一个不知名程序员www6 小时前
c++·算法
算法学习入门---结构体和类(C++)目录1.结构体类型的声明、创建与使用(结构体嵌套+成员变量)2.结构体类型的成员函数(重点)3.操作符重载
墨雪不会编程7 小时前
java·开发语言·c++
C++ string 详解:STL 字符串容器的使用技巧前言:如果你写 C++ 时还在用char*手动管理字符串,或者对 STL 的string只停留在 “会用+=拼接” 的阶段 —— 那这篇文章大概率能帮你省不少事。 作为 STL 里最常用的容器之一,string藏着不少 “好用但容易被忽略” 的技巧:比如不用循环就能分割字符串、避免内存拷贝的高效操作、甚至能直接替代部分str系列函数。今天咱们从基础用法到实用技巧,把string的核心玩法一次性讲透,看完就能直接用到项目里~
yangpipi-7 小时前
android·java·c++
《C++并发编程实战》第5章 C++内存模型和原子操作is_lock_free() ,准许使用者判定某一给定类型上的操作是能由原子指令(atomic instruction)直接实现(x.is_lock_free()返回true),还是要借助编译器和程序库的内部锁来实现(x.is_lock_free()返回false)。这一功能可在许多情形中派上大用场,原子操作的关键用途是取代需要互斥的同步方式。但是,假如原子操作本身也在内部使用了互斥,就很可能无法达到所期望的性能提升,而更好的做法是采用基于互斥的方式,该方式更加直观且不易出错。无锁数据结构正属于这种情况,
SunkingYang7 小时前
c++·mfc·共享内存·通信·postmessage·sendmessage·进程间
MFC进程间消息通信深度解析:SendMessage、PostMessage与SendNotifyMessage的底层实现与实战指南在Windows操作系统中,消息机制是其核心架构之一。对于MFC开发者而言,理解SendMessage、PostMessage和SendNotifyMessage在进程间通信(IPC)中的行为差异,是构建高效、可靠多进程应用程序的关键技术基础。这三种函数虽然都用于窗口消息传递,但在同步性、可靠性、性能特征和应用场景上存在本质区别。
XFF不秃头8 小时前
c++·笔记·算法·leetcode
力扣刷题笔记-旋转图像给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 分析: 解决这个问题最主要是要找到旋转前后的元素和旋转之前的元素有什么对应关系。 设某个元素在原矩阵中位于:第 i 行,第 j 列,考虑顺时针旋转90度之后的坐标会变成什么样。 先看最容易想象的四个角。 左上角 (0, 0),顺时针旋转之后位置变成了右上角(0, n-1)。 从这个变化可以得到最后行号没有变(仍然
王老师青少年编程8 小时前
c++·算法·stl·csp·信奥赛·lower_bound·标准模版库
csp信奥赛C++标准模板库STL案例应用3计算机竞赛小组的神牛 V 神终于结束了高考,然而作为班长的他还不能闲下来,班主任老 t 给了他一个艰巨的任务:帮同学找出最合理的大学填报方案。可是 v 神太忙了,身后还有一群小姑娘等着和他约会,于是他想到了同为计算机竞赛小组的你,请你帮他完成这个艰巨的任务。
Tim_109 小时前
开发语言·c++
【C++入门】04、C++浮点型浮点数是能够表示带小数部分的数字,他可以表示更大范围的数例如使用浮点类型表示314.15这样带小数部分的数字,计算机将其分成两部分存储,一部分表示值,一部分对值进行放大或缩小(也就是缩放因子). 最终上面的数字表示值为0.31415,而缩放因子为1000。
hkNaruto10 小时前
开发语言·c++
【C++】记录一次C++程序编译缓慢原因分析——滥用stdafx.h公共头文件本文记录了一次对C++项目编译缓慢问题的深入分析过程。从一个单文件编译耗时12秒、内存占用超过1GB的“症状”出发,通过使用编译器提供的 -E 和 -ftime-report 等诊断工具,成功定位到问题根源在于对预编译头文件(stdafx.h)的滥用,导致其生成的PCH文件体积高达1GB。文章详细展示了分析步骤、诊断报告的解读,并最终给出了针对性的解决方案和长期优化建议。
柏木乃一10 小时前
linux·服务器·c++·算法·架构·操作系统
进程(6)进程切换,Linux中的进程组织,Linux进程调度算法1.进程切换 2.Linux中的进程组织 3.Linux进程调度算法前面几节中,我们讨论过进程pcb中上下文数据,它保存的是当前进程中产生的临时数据. 我们这个小节讲述的东西和它有很大的关系. 在,我们这里讨论的进程切换,实际上就是cpu的上下文切换.也可以叫做任务切换.当cpu执行多任务的的时候,内核决定从当前进程转而去执行其他进程,就需要吧当前进程产生的临时数据拿出来保存到自己的pcb当中.也就是保存它当前的运行状态.因为这些内容是保存在堆栈的.当下一个进程准备开始执行的时候要将自己的pcb中的上下文
Trouvaille ~10 小时前
linux·运维·网络·c++·磁盘·文件系统·inode
【Linux】从磁盘到文件系统:深入理解Ext2文件系统💬 欢迎讨论:这是Linux系统编程系列的第九篇文章。在前八篇中,我们学习了进程管理、文件描述符、重定向和缓冲区机制。我们知道文件存储在磁盘上,但磁盘是如何组织管理文件的?文件的属性和内容究竟存储在哪里?Linux如何通过文件名找到文件?本篇将深入磁盘物理结构,理解Ext2文件系统的设计原理。
superman超哥11 小时前
c语言·开发语言·c++·python·仓颉
仓颉锁竞争优化深度解析锁竞争是并发编程中最常见也最严重的性能瓶颈之一。当多个线程同时争抢同一把锁时,只有一个线程能够获得执行权,其他线程被迫等待,导致并行度大幅下降,系统吞吐量和响应时间急剧恶化。仓颉语言作为现代高性能编程语言,提供了丰富的同步原语和并发工具,但如何合理使用这些工具、识别和消除锁竞争,是构建高性能并发应用的核心挑战。本文将从锁竞争的本质出发,结合工程实践,系统阐述仓颉语言中锁竞争优化的策略、技术与最佳实践。
charlie11451419111 小时前
开发语言·c++·笔记·学习·环境配置·工程
快速在WSL上开发一般的C++上位机程序笔者绝对记得我曾经写过这类博客,但是我找不到了,这边马上要准备起一个新的现代C++分析教程,所以这个博客笔者计划用来存档下作为环境配置的一部分。
夏幻灵12 小时前
开发语言·c++·算法
C++ 中手动重载赋值运算符(operator=)时实现部分复制的思路和方法简单来说,这一操作的核心是在重载的赋值运算符函数中,只选择对象的部分成员变量进行拷贝,忽略不需要的成员,从而实现自定义的复制逻辑。我会从重载的基础、部分复制的实现步骤、示例代码和注意事项等方面详细讲解。
superman超哥12 小时前
c语言·开发语言·c++·python·仓颉
仓颉语言中包与模块系统的深度剖析与工程实践包(Package)与模块(Module)系统是现代编程语言组织代码、管理依赖、控制可见性的核心机制。在仓颉语言中,包系统不仅是简单的命名空间管理工具,更是一套设计精良的、支持大规模软件工程的模块化体系。与C语言的头文件相比,仓颉提供了真正的模块边界和接口抽象;与Java的包系统相比,仓颉在编译速度和依赖管理上更加现代化;与Rust的crate系统相比,仓颉在易用性和灵活性上取得了更好的平衡。包系统体现了**“高内聚、低耦合”**的软件工程原则——通过明确的模块边界、受控的可见性、清晰的依赖关系,我们能够
x70x8012 小时前
开发语言·c++
C++中不同容器的用法及接口(vector / deque / stack / queue / priority_queue)看“容器是什么”,就知道该用什么函数📌 刷题里:90% 的时候首选 vector📌 刷题中:滑动窗口 ≈ deque
qq_3106585113 小时前
服务器·c++·音视频
janux源码走读(五)Janus事件处理模块(events/)关键说明:原理作用源码( events/mqtt.c)流程图:MQTT事件处理时序图:MQTT事件传递
WBluuue13 小时前
数据结构·c++·算法
数据结构和算法:Morris遍历这个感觉竞赛里也用不到,随便学学吧()没有左子树的节点只到达一次,有左子树的节点会到达两次,其中用左子树最右节点的右指针状态来标记第几次到达。
qq_4335545413 小时前
开发语言·c++
C++状压DP状压DP,对应蓝桥云课坐标搜索 代码框架见下代码练习1 回路计数 对应蓝桥云课 代码见下代码练习 2 星球 对应蓝桥云课 代码见下