技术栈
stl
老歌老听老掉牙
3 天前
python
·
stl
基于STL模型的轴向截面轮廓提取与三维可视化方法
STL(Stereolithography)文件是三维打印和计算机辅助工程中最常用的网格模型格式之一,其通过一系列三角形面片来近似表示物体表面。在工程分析中,往往需要获取模型在特定轴向位置处的截面轮廓,例如钻头、螺旋桨等回转体或异形件的几何分析。本文从底层原理出发,完整实现了STL文件的自主解析、任意Z高度处截面轮廓的有序提取,以及沿轴向批量截面的三维散点可视化。所有算法均基于纯Python实现,不依赖任何第三方STL库,代码结构清晰且具备工业级实用价值。
白杨尚青
6 天前
开发语言
·
c++
·
笔记
·
算法
·
stl
C++入门篇(十三):vector(上)——动态数组:构造、空间增长与迭代器失效
目录0.1 开篇·导读一、什么是 vector二、构造与定义2.1 四种构造(速查表格)2.2测试代码:
无名猿
7 天前
数据结构
·
c++
·
性能优化
·
stl
·
标准库
map / set 完全指南:红黑树与有序容器
std::map 是 C++ 里最常被用、也最容易被用错的容器。它的核心事实只有一句话:它是一棵自平衡的红黑树(red-black tree),所以 key 永远有序、查找永远是 O(log n)。有序带来范围查询、中序遍历即排序、find 优于 std::find 这些能力;但也带来一个著名陷阱——operator[] 在找不到 key 时会默默插入一个默认值。这篇按「结构 → 只读查表 → 查找写法 → 插入写法 → 范围查询 → 完整示例」的顺序把 map / set 全家讲清楚。
无名猿
7 天前
c++
·
性能优化
·
stl
·
标准库
C++ 查找算法:std::find 与容器成员 find 的性能差距
在 map 里找一个 key,有人写成 std::find_if(m.begin(), m.end(), ...),十万个元素就要跑十万次比较;换成 m.find(key),同样十万个元素只要几十次 —— 两者名字里都有 find,复杂度却差了一个数量级。这篇文章从这条落差讲起,把查找族算法的语义、返回值约定和短路口诀一次讲清,重点解释这个落差的根源:STL 算法只拿得到迭代器,看不见容器的内部结构。
无名猿
8 天前
c++
·
stl
·
标准库
·
现代c++
std::variant 完全指南:类型安全的 union 与 std::visit 用法
裸 union 是 C 语言留下来的老物件:它能把不同类型的值叠在同一块内存上,但没人记得住当前存的是哪个类型,读错成员就是未定义行为(undefined behavior, UB),编译器一声不吭。C++17 的 std::variant<A, B, C> 把「联合体」和「类型标签」绑成了一个类型,从此读错类型会得到明确的异常或 nullptr,而不是一份随机数据。
无名猿
8 天前
c++
·
stl
·
标准库
·
踩坑记录
C++ 迭代器五分类与失效场景汇总:一张表避开所有 UB
std::sort(lst.begin(), lst.end()) 编译不过,for (int x : v) { if (...) v.erase(...); } 跑起来会崩 —— 这两个问题的根子是同一件事:迭代器不是一种东西,而是分等级的,而且会在容器改动时失效。这篇文章把「迭代器五分类」和「失效规则」两块拼成一张可查的表,以后遇到迭代器相关的报错直接对表。
无名猿
8 天前
c++
·
性能优化
·
stl
·
内存管理
·
标准库
list 与 forward_list:链表真的比 vector 快吗
「中间插入删除用链表,随机访问用数组」这条规则背了很多年,但它只说对了一半。真把十万个 int 分别塞进 std::list 和 std::vector,链表的内存占用是后者的 6 倍,顺序遍历还要慢一个数量级。原因不在复杂度(两者遍历都是 O(n)),而在每个节点的额外指针和缓存局部性(cache locality)。这篇用实测把链表的开销算清楚,也把链表真正不可替代的两个场景——迭代器失效规则与 splice 零拷贝——讲透,最后给一条能直接用的选型结论。
白杨尚青
13 天前
java
·
开发语言
·
c++
·
笔记
·
stl
C++入门篇(十):string(上)——认识string:构造与三大遍历(一条龙讲透operator[]、迭代器、auto、范围for)
目录0.1 概述&序言一、为什么学习string类1.1 C语言字符串的痛1.2 现实中的需求1.3 两个面试题(先感受一下)
星期八不上发条
22 天前
开发语言
·
c++
·
stl
智能指针是什么?使用场景,循环引用解决办法,面试回答
智能指针是 C++ 标准模板库(STL)中的一种类模板,用于管理动态分配的内存,以确保资源的正确释放,防止内存泄漏。在 C++ 中,动态分配内存是通过 new 操作符完成的,而释放内存则需要使用 delete 操作符。但在复杂的程序中,确保每次 new 后都有对应的 delete 调用是困难的,尤其是在出现异常或早期返回时。
Tairitsu_H
1 个月前
开发语言
·
c++
·
stl
·
c++11
[C++] C++11类和STL的新特性
C++11中,类新增了移动构造和移动赋值成员函数:如果提供了移动函数,编译器就不会再默认生成拷贝函数。
Chester_1999
1 个月前
开发语言
·
数据结构
·
c++
·
蓝桥杯
·
stl
CSP202312C.树上搜索
今天我们来看CSP202312C.树上搜索这道题目本题要求模拟一个基于二分策略的分类提问过程。给定一棵以 1 为根的树,每个节点代表一个类别并带有一个权重。对于每个查询给定的目标类别 target,需要按照以下规则生成提问序列:
Chester_1999
1 个月前
开发语言
·
c++
·
蓝桥杯
·
stl
CSP202303C.LDAP
今天,我们来看CSP202303C.LDAP这道题目本题要求实现一个 LDAP 用户匹配算法。给定若干用户,每个用户有唯一的 DN(正整数)和若干属性(属性编号和属性值均为正整数)。再给出多个匹配表达式,每个表达式是由原子表达式通过逻辑操作符(& 和 |)组合而成的树形结构。原子表达式形式为 <属性编号><操作符><属性值>,其中操作符 : 表示断言(属性值相等),~ 表示反断言(属性值不等)。逻辑操作符 & 表示两个子表达式均匹配,| 表示至少一个子表达式匹配。
我变成萤火虫
2 个月前
c++
·
算法
·
贪心算法
·
stl
·
排序算法
·
反悔贪心
反悔贪心(经典题目讲解)
常规贪心思维题目可以看这篇博客:贪心算法入门详解_贪心算法巡回-CSDN博客场景:数轴上有 n 只老鼠和 m 个洞,每个洞有容量(最多能进几只老鼠)。
我变成萤火虫
2 个月前
数据结构
·
c++
·
算法
·
贪心算法
·
stl
·
动态规划
河南萌新联赛2026第(四)场:南阳理工学院
补题入口直接点题目即可签到:M , Geasy:L , Jmid:D , H , Imid - hard:C , B , E , F
峥无
2 个月前
开发语言
·
c++
·
笔记
·
算法
·
stl
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
本文基于 SGI-STL 3.0 源码框架,从零开始用红黑树封装实现 map 和 set,涵盖泛型设计思想、迭代器中序遍历、插入平衡调整(变色+旋转)、operator[] 原理、const_iterator 与 key 不可修改等核心知识点。所有代码均可直接编译运行,适合 C++ 进阶与数据结构面试备考。
我变成萤火虫
2 个月前
数据结构
·
c++
·
算法
·
贪心算法
·
stl
·
排序算法
·
动态规划
2026 ICPC沈阳邀请赛Vp补题
赛时在签到题上浪费了太多时间,没机会看更难的题,一些中档难度的题涉及的知识其实也有学过,也是非常可惜,所以这篇博客准备补一下题,并且反思一下
程序喵大人
2 个月前
开发语言
·
c++
·
算法
·
stl
·
函数对象
【C++进阶】STL算法与函数对象 - 09 函数对象保存状态并复用规则
博主介绍:程序喵大人【AIAgent项目】从零构建一个代码PRAgent 【C++进阶】STL算法与函数对象 - 01 让算法去处理一段迭代器范围 【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器 【C++进阶】STL算法与函数对象 - 03 谓词和比较器把判断逻辑交给算法 【C++进阶】STL算法与函数对象 - 04 find、count和any_of把查询写成意图 【C++进阶】STL算法与函数对象 - 05 transform、copy和for_each把遍历从循环里抽
我变成萤火虫
2 个月前
数据结构
·
c++
·
算法
·
贪心算法
·
stl
·
深度优先
·
哈希算法
河南萌新联赛2026第(三)场:郑州轻工业大学
补题入口直接点题目即可这场的题目更偏向思维,很多题目需要转变一下大脑子才可以想出来题目: 一个数字,当这个数的位数不少于2时就将它变为各个位数上的数字相加,问会进行多少次操作,并且这个数字最终会变成多少
鱼子星_
2 个月前
开发语言
·
c++
·
笔记
·
stl
【C++】反向迭代器:反向迭代器的底层认识与模拟实现
🧑💻博主名称:鱼子星_ ✅数据结构专栏:【数据结构】 ✅算法竞赛专栏:【算法竞赛】 ✅C++系列专栏:【C++从零开始系列】
lingran__
2 个月前
开发语言
·
c++
·
stl
·
set
·
map
·
泛型编程
·
sgi-stl
C++ STL map 与 set 底层剖析与模拟实现万字详解|基于红黑树,复刻 SGI-STL 泛型复用架构
目录引言:源码及框架分析头文件依赖stl_set.h 源码核心stl_map.h 源码核心stl_tree.h 红黑树底层源码