
C++20_第一篇
语言特性 概念Concepts 概述 概念用于约束模板参数,提供了一种简洁的方式来指定模板参数的要求 约束模板参数,增强代码可读性和错误提示 示例 示例1 示例2 范围库(Ranges) 概述 提供声明式数据操作,支持惰性求值和链式调用 示例 过滤偶数并平方 协程(Corouti...
语言特性 概念Concepts 概述 概念用于约束模板参数,提供了一种简洁的方式来指定模板参数的要求 约束模板参数,增强代码可读性和错误提示 示例 示例1 示例2 范围库(Ranges) 概述 提供声明式数据操作,支持惰性求值和链式调用 示例 过滤偶数并平方 协程(Corouti...
模板 概述 C++模板是一个强大的编程工具,使得可以编写通用的、类型安全的代码 模板主要用于函数和类的泛型编程,允许你定义通用算法和数据结构,然后在需要时使用具体类型进行实例化 使用场景 通用算法: 模板允许你编写通用算法,如排序、搜索等,而无需针对每种类型重复实现 容器类: 标...
协程 概述 C++20 协程(Coroutines)是一种无栈协程实现,通过挂起/恢复机制简化异步编程,将回调式代码转化为顺序式结构 使用C++20协程时,必须实现promise类型(协程的行为控制器)和可选的awaitable对象(挂起/恢复行为控制器) 机制 无栈设计 协程状...
thread相关 创建线程 使用 std::thread 构造函数创建线程,需传递一个可调用对象(函数、Lambda、函数对象等) 可调用对象 普通函数(函数指针) 函数对象(仿函数,Functor) 定义一个重载了 operator() 的类: lambda表达式 直接在线程构...
语言特性 指定初始化 按名称初始化结构体成员,提高可读性 [[likely]]和[[unlikely]] 提示编译器分支预测优化 标准库新增组件 std::atomic_ref(原子引用) 概述 C++20 引入的模板类,允许对 非原子类型 的对象进行原子操作 它的核心作用是为现...
超线程技术 概述 现代CPU通常确实在物理核心的基础上引入逻辑核心,例如通过超线程(Hyper-Threading)技术,一个物理核心能够处理两个线程 使得操作系统和应用程序认为该CPU拥有的核心数量翻倍 不过,CPU的逻辑核心和线程的概念在软件开发中存在一些区别 逻辑核心更偏向...
搜索当前标签