C++20新特性解析:现代C++的重大突破
Created|C++
C++20新特性解析:现代C++的重大突破C++20是C++标准的重大更新,引入了许多革命性的特性,包括概念、范围、协程、模块等。本文将解析C++20的核心特性,包括语法示例和使用场景。 一、概念(Concepts):类型约束的革命C++17的限制: 12345678// C++17中,使用SFINAE或static_assert进行类型约束template<typename T>auto add(T a, T b) -> decltype(a + b) { return a + b;}// 问题:错误信息不友好// 当传入不支持+操作的类型时,错误信息复杂 C++20的改进: 1234567891011121314151617181920212223242526#include <concepts>// 定义概念template<typename T>concept Addable = requires(T a, T b) { { a + b } ->...
Python深度解析:Yield, Return与Yield From的时空魔法
Created|Python
一、引言:打破"一次性"函数的诅咒普通函数有一个致命特征——一次性。执行到底,return 结果,销毁所有局部变量。人死灯灭,不留痕迹。 但有些场景需要函数"记住"上次执行到哪里了。比如遍历一个大文件,你不想一次性读入内存,而是读一行、处理一行、再读一行。这就需要函数拥有"记忆"——生成器应运而生。 生成器让函数从"单向流水线"变成了"可暂停的状态机"。 二、Yield:时间的暂停与状态的冻结2.1 核心机制当代码执行到 yield 时,函数并没有结束,而是"挂起"了: 保存当前的执行位置和所有局部变量 产出一个值给调用者 交还控制权,等待下次被唤醒 123456789101112131415161718192021def counter(n): i = 0 while i < n: print(f" [生成器内部] 即将 yield {i}") yield i ...


Recent Posts
Categories
- C++85
- C-Code23
- CMake3
- CS501
- Computer-Networking40
- Computer-Organization1
- Data Structures and Algorithms1
- Data-Structures6
- Essay1
- Essays4
- Foundational Syntax and Core Concepts4
- Git3
- HTTP2
- Interview7
- Lcov2
- Leetcode147
- Linux40
- Linux Internals2
- List1
- Lists1
- MQTT8
- MYSQL3
- MySQL1
- Operating-Systems7
- PKGCONF1
- Python63
- Redis14
- STL3
- UML1
- XML1
- lock1
- practice problems1
- 代码提交1
- 函数模板2
- 前端6
- 寓言故事7
- 工厂模式2
- 文章27
- 类图1
- 编译1
- 设计模式8
- 链表1
Archives
- 2026年06月 13
- 2026年05月 8
- 2026年04月 7
- 2026年03月 7
- 2026年02月 3
- 2026年01月 5
- 2025年12月 11
- 2025年11月 6
- 2025年10月 5
- 2025年09月 15
- 2025年08月 5
- 2025年07月 5
- 2025年06月 5
- 2025年05月 6
- 2025年04月 10
- 2025年03月 5
- 2025年02月 8
- 2025年01月 10
- 2024年12月 10
- 2024年11月 8
- 2024年10月 12
- 2024年09月 11
- 2024年08月 11
- 2024年07月 9
- 2024年06月 9
- 2024年05月 11
- 2024年04月 20
- 2024年03月 19
- 2024年02月 23
- 2024年01月 27
- 2023年12月 13
- 2023年11月 15
- 2023年10月 14
- 2023年09月 14
- 2023年08月 13
- 2023年07月 14
- 2023年06月 12
- 2023年05月 17
- 2023年04月 13
- 2023年03月 14
- 2023年02月 13
- 2023年01月 14
- 2022年12月 6
- 2022年11月 11
- 2022年10月 7
- 2022年09月 4
- 2022年08月 3
- 2022年07月 5
- 2022年06月 7
- 2022年05月 4
- 2022年04月 4
- 2022年03月 4
- 2022年02月 5
- 2022年01月 5
Website Info
Article Count :
535
Runtime :
Total Word Count :
927.6k
Last Update :