- 引言 1. 整数 2 的幂运算 1.1 检测是否为 2 的幂:std::has_single_bit 1.2 计算不小于 x 的最小 2 的幂:std::bit_ceil 1.3 计算不大于 x 的最大 2 的幂:std::bit_floor 2. std::bit_cast 2.1 基本用法 2.2 实用场景:字节序列与结构体之间的转换 3. 总结 引言C++20 引入了 <bit> 头... 引言 1. 整数 2 的幂运算 1.1 检测是否为 2 的幂:std::has_single_bit 1.2 计算不小于 x 的最小 2 的幂:std::bit_ceil 1.3 计算不大于 x 的最大 2 的幂:std::bit_floor 2. std::bit_cast 2.1 基本用法 2.2 实用场景:字节序列与结构体之间的转换 3. 总结 引言C++20 引入了 <bit> 头...
- 前言c++是在c语言的基础上,增加了面向对象编程、引用、函数重载、模板库STL等新特性,使得c++成为一门功能强大、灵活多变的语言。c++在语法上兼容大部分c语言,因而学习了c语言之后,会对c++学习有一定的帮助。相比java,c++语法的学习难度较高,但是它难学易用,也有利于我们理解底层,是一门十分值得深入学习的语言。接下来我们会重点介绍一些c++的前置基础知识,便于我们快速入门c++语... 前言c++是在c语言的基础上,增加了面向对象编程、引用、函数重载、模板库STL等新特性,使得c++成为一门功能强大、灵活多变的语言。c++在语法上兼容大部分c语言,因而学习了c语言之后,会对c++学习有一定的帮助。相比java,c++语法的学习难度较高,但是它难学易用,也有利于我们理解底层,是一门十分值得深入学习的语言。接下来我们会重点介绍一些c++的前置基础知识,便于我们快速入门c++语...
- C++ 深度优先搜索(DFS)全解析 引言深度优先搜索(DFS)是一种用于遍历或搜索图形结构的算法。作为基本的图搜索算法之一,DFS 在许多计算问题中起着核心作用,如路径查找、连通性检测等。 技术背景 图论基础在图论中,图由节点(顶点)和边构成。图可以是有向或无向的,并可能包含环。在这样的结构中,寻找有效的遍历方式是一项重要任务。DFS 是一种系统地访问图中所有节点的方法,通过尽可能深入地... C++ 深度优先搜索(DFS)全解析 引言深度优先搜索(DFS)是一种用于遍历或搜索图形结构的算法。作为基本的图搜索算法之一,DFS 在许多计算问题中起着核心作用,如路径查找、连通性检测等。 技术背景 图论基础在图论中,图由节点(顶点)和边构成。图可以是有向或无向的,并可能包含环。在这样的结构中,寻找有效的遍历方式是一项重要任务。DFS 是一种系统地访问图中所有节点的方法,通过尽可能深入地...
- C++ 高性能内存池 引言在高性能计算和实时系统中,内存分配的效率和速度至关重要。传统的内存管理方式如 new 和 delete 会带来较大的性能开销,特别是在频繁分配和释放内存时。因此,设计一个高效的内存池(Memory Pool)可以显著提高程序性能。 技术背景 内存池内存池是一种优化的内存管理技术,它通过预先分配一大块内存并根据需要分配小块以供应用程序使用。这样可以减少内存碎片以及分... C++ 高性能内存池 引言在高性能计算和实时系统中,内存分配的效率和速度至关重要。传统的内存管理方式如 new 和 delete 会带来较大的性能开销,特别是在频繁分配和释放内存时。因此,设计一个高效的内存池(Memory Pool)可以显著提高程序性能。 技术背景 内存池内存池是一种优化的内存管理技术,它通过预先分配一大块内存并根据需要分配小块以供应用程序使用。这样可以减少内存碎片以及分...
- C++领域——STL(String类的模拟实现) 引言C++ 标准模板库(STL)提供了丰富的数据结构和算法,其中 std::string 是处理字符串的核心类。虽然 STL 已经提供了高效的字符串操作支持,但通过模拟实现 std::string 类可以帮助我们更深入地理解其内部机制和设计原则。 技术背景 STL 的 std::stringstd::string 是一个动态数组,用于表示和... C++领域——STL(String类的模拟实现) 引言C++ 标准模板库(STL)提供了丰富的数据结构和算法,其中 std::string 是处理字符串的核心类。虽然 STL 已经提供了高效的字符串操作支持,但通过模拟实现 std::string 类可以帮助我们更深入地理解其内部机制和设计原则。 技术背景 STL 的 std::stringstd::string 是一个动态数组,用于表示和...
- 1. 字节序的基本概念 2. std::endian的定义与使用 3. 示例代码 4. 字节序的重要性 5. 字节序转换方法 6. 实际应用 7. 总结在C++20中,std::endian的引入为开发者提供了一种便捷的方式来处理和判断系统的字节序(Endianness)。字节序是指计算机存储多字节数据时字节的排列顺序,主要分为大端(Big-Endian)和小端(Little-Endian... 1. 字节序的基本概念 2. std::endian的定义与使用 3. 示例代码 4. 字节序的重要性 5. 字节序转换方法 6. 实际应用 7. 总结在C++20中,std::endian的引入为开发者提供了一种便捷的方式来处理和判断系统的字节序(Endianness)。字节序是指计算机存储多字节数据时字节的排列顺序,主要分为大端(Big-Endian)和小端(Little-Endian...
- 封装哈希表实现 unordered_map 和 unordered_set 引言在现代编程中,哈希表是一种高效的数据结构,它能够以常数时间复杂度完成插入、删除和查找操作。C++ 标准库提供了 unordered_map 和 unordered_set 容器,它们基于哈希表实现,为开发者提供了灵活且高效的键值存储解决方案。本文将介绍如何封装和实现这两个容器。 技术背景 哈希表哈希表是一个数据... 封装哈希表实现 unordered_map 和 unordered_set 引言在现代编程中,哈希表是一种高效的数据结构,它能够以常数时间复杂度完成插入、删除和查找操作。C++ 标准库提供了 unordered_map 和 unordered_set 容器,它们基于哈希表实现,为开发者提供了灵活且高效的键值存储解决方案。本文将介绍如何封装和实现这两个容器。 技术背景 哈希表哈希表是一个数据...
- 一、std::span 是什么? 二、std::span 的核心特性 (一)动态与静态范围 (二)统一函数接口 (三)子视图操作 三、std::span 的优势 (一)提高代码的安全性和可读性 (二)轻量级与高性能 四、std::span 的使用场景 (一)作为函数参数 (二)与标准库算法结合 (三)处理多维数组 五、最佳实践与注意事项 (一)避免悬挂引用 (二)选择合适的范围类型 (三)... 一、std::span 是什么? 二、std::span 的核心特性 (一)动态与静态范围 (二)统一函数接口 (三)子视图操作 三、std::span 的优势 (一)提高代码的安全性和可读性 (二)轻量级与高性能 四、std::span 的使用场景 (一)作为函数参数 (二)与标准库算法结合 (三)处理多维数组 五、最佳实践与注意事项 (一)避免悬挂引用 (二)选择合适的范围类型 (三)...
- 一、什么是 std::source_location? 1. 基本功能 2. 使用示例 二、应用场景 1. 日志记录 2. 错误处理 3. 断言 三、性能与限制 1. 性能 2. 限制 四、总结在 C++20 中,众多新特性和改进为开发者带来了诸多便利,其中 std::source_location 是一个非常实用且容易被忽视的特性。它可以帮助我们更方便地获取代码的运行时位置信息,从而在调... 一、什么是 std::source_location? 1. 基本功能 2. 使用示例 二、应用场景 1. 日志记录 2. 错误处理 3. 断言 三、性能与限制 1. 性能 2. 限制 四、总结在 C++20 中,众多新特性和改进为开发者带来了诸多便利,其中 std::source_location 是一个非常实用且容易被忽视的特性。它可以帮助我们更方便地获取代码的运行时位置信息,从而在调...
- 1. 日历功能 基本日期单位 复杂日期表达 示例代码 2. 时区功能 时区数据库 示例代码 3. 格式化与输出 替代方案C++20 的 <chrono> 库在 C++11 的基础上进行了重大扩展,引入了日历和时区功能,极大地增强了对日期和时间的处理能力。 1. 日历功能C++20 的日历功能提供了类型安全的日期操作接口,包括基本的日期单位(如年、月、日)以及更复杂的日期表达方式。 基本日期... 1. 日历功能 基本日期单位 复杂日期表达 示例代码 2. 时区功能 时区数据库 示例代码 3. 格式化与输出 替代方案C++20 的 <chrono> 库在 C++11 的基础上进行了重大扩展,引入了日历和时区功能,极大地增强了对日期和时间的处理能力。 1. 日历功能C++20 的日历功能提供了类型安全的日期操作接口,包括基本的日期单位(如年、月、日)以及更复杂的日期表达方式。 基本日期...
- 一、概念库的核心功能 二、预定义概念的分类 三、自定义概念 四、概念库的优势 五、实际应用案例 六、与其他语言的对比 七、总结C++20 引入了概念库(Concepts Library),这是一个强大的工具,用于在编译时对模板参数进行约束和检查。概念库的引入极大地提升了模板编程的可读性、安全性和编译器错误信息的清晰度。 一、概念库的核心功能概念库提供了一组预定义的概念(Concepts),... 一、概念库的核心功能 二、预定义概念的分类 三、自定义概念 四、概念库的优势 五、实际应用案例 六、与其他语言的对比 七、总结C++20 引入了概念库(Concepts Library),这是一个强大的工具,用于在编译时对模板参数进行约束和检查。概念库的引入极大地提升了模板编程的可读性、安全性和编译器错误信息的清晰度。 一、概念库的核心功能概念库提供了一组预定义的概念(Concepts),...
- 格式化语法 常见用法 1. 填充和对齐 2. 数值格式化 3. 进制格式化 4. 自定义类型 示例代码 注意事项C++20 的格式化库是一个强大的工具,用于处理字符串的格式化操作。它提供了类似于 Python 中 str.format() 的功能,但语法和用法更符合 C++ 的风格。以下是一些关于 C++20 格式化库的介绍和示例: 格式化语法C++20 的格式化库通过 std::form... 格式化语法 常见用法 1. 填充和对齐 2. 数值格式化 3. 进制格式化 4. 自定义类型 示例代码 注意事项C++20 的格式化库是一个强大的工具,用于处理字符串的格式化操作。它提供了类似于 Python 中 str.format() 的功能,但语法和用法更符合 C++ 的风格。以下是一些关于 C++20 格式化库的介绍和示例: 格式化语法C++20 的格式化库通过 std::form...
- 背景与动机 C++20 的改进 示例代码 编译器支持 总结在 C++20 中,DR11 提案(P1009R2)引入了一项重要的语言特性改进:数组 new 表达式可以自动推导数组大小。这一改进极大地简化了动态数组的创建过程,使代码更加简洁易读。 背景与动机在 C++17 及之前的版本中,动态分配数组时,必须显式指定数组的大小。例如:int* arr = new int[10]; // 显式指... 背景与动机 C++20 的改进 示例代码 编译器支持 总结在 C++20 中,DR11 提案(P1009R2)引入了一项重要的语言特性改进:数组 new 表达式可以自动推导数组大小。这一改进极大地简化了动态数组的创建过程,使代码更加简洁易读。 背景与动机在 C++17 及之前的版本中,动态分配数组时,必须显式指定数组的大小。例如:int* arr = new int[10]; // 显式指...
- 简写函数模板的语法 示例代码 优点C++20引入了简写函数模板(Abbreviated Function Template),这是一种更简洁的函数模板声明方式,允许使用auto或带有约束的auto来代替显式的模板参数声明。 简写函数模板的语法当在函数参数列表中使用auto或带有约束的auto时,编译器会自动为每个占位符生成一个虚构的模板参数。例如:void f1(auto); // 等价于... 简写函数模板的语法 示例代码 优点C++20引入了简写函数模板(Abbreviated Function Template),这是一种更简洁的函数模板声明方式,允许使用auto或带有约束的auto来代替显式的模板参数声明。 简写函数模板的语法当在函数参数列表中使用auto或带有约束的auto时,编译器会自动为每个占位符生成一个虚构的模板参数。例如:void f1(auto); // 等价于...
- 一、什么是约束与概念 二、概念的定义与使用 (一)定义概念 (二)使用概念 三、约束与概念的优势 (一)提高代码可读性 (二)增强代码健壮性 (三)简化模板编程 四、常见应用场景 (一)类型约束 (二)代码优化 (三)错误提示 五、总结C++20作为C++语言的一个重要更新版本,引入了许多新特性,其中“约束”和“概念”是备受瞩目的特性之一。它们为模板编程带来了革命性的变化,让模板代码更加清... 一、什么是约束与概念 二、概念的定义与使用 (一)定义概念 (二)使用概念 三、约束与概念的优势 (一)提高代码可读性 (二)增强代码健壮性 (三)简化模板编程 四、常见应用场景 (一)类型约束 (二)代码优化 (三)错误提示 五、总结C++20作为C++语言的一个重要更新版本,引入了许多新特性,其中“约束”和“概念”是备受瞩目的特性之一。它们为模板编程带来了革命性的变化,让模板代码更加清...
上滑加载中
推荐直播
-
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中
热门标签