- 引言 1. 背景与动机 1.1 回顾 std::make_shared 的演变 1.2 为什么需要支持数组 2. C++20 中 std::make_shared 的数组支持 2.1 基本语法 2.2 示例代码 3. 性能与内存管理 4. 最佳实践与注意事项 4.1 适用场景 4.2 不适用场景 4.3 注意事项 5. 未来展望 结语 引言C++20 对 std::make_shared ... 引言 1. 背景与动机 1.1 回顾 std::make_shared 的演变 1.2 为什么需要支持数组 2. C++20 中 std::make_shared 的数组支持 2.1 基本语法 2.2 示例代码 3. 性能与内存管理 4. 最佳实践与注意事项 4.1 适用场景 4.2 不适用场景 4.3 注意事项 5. 未来展望 结语 引言C++20 对 std::make_shared ...
- 前言之前我们在 类和对象(上)中了解了关于类的定义、对象的创建等一些基本知识:【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)-CSDN博客今天,我们深入学习类和对象中默认成员函数相关的内容。 什么是默认成员函数所谓默认成员函数,就是在类当中我们没有显示实现,但是编译器自动生成的成员函数称之为默认成员函数。在c++11之前,默认成员函数一... 前言之前我们在 类和对象(上)中了解了关于类的定义、对象的创建等一些基本知识:【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)-CSDN博客今天,我们深入学习类和对象中默认成员函数相关的内容。 什么是默认成员函数所谓默认成员函数,就是在类当中我们没有显示实现,但是编译器自动生成的成员函数称之为默认成员函数。在c++11之前,默认成员函数一...
- 前言c++是一种支持面向对象编程(OOP)的语言,而在面向对象编程当中,类和对象是核心概念,理解类和对象是学习面向对象编程的基石。面向对象编程是一种编程范式,它使用“类”来定义对象的属性和方法,完成对软件的设计。掌握类和对象的概念及其相互关系,对于深入理解并有效应用面向对象编程至关重要。 一、类的概念及定义类的本质是一种自定义类型,是定义对象模板的蓝图或者结构。它制定了对象可以包含的数据以... 前言c++是一种支持面向对象编程(OOP)的语言,而在面向对象编程当中,类和对象是核心概念,理解类和对象是学习面向对象编程的基石。面向对象编程是一种编程范式,它使用“类”来定义对象的属性和方法,完成对软件的设计。掌握类和对象的概念及其相互关系,对于深入理解并有效应用面向对象编程至关重要。 一、类的概念及定义类的本质是一种自定义类型,是定义对象模板的蓝图或者结构。它制定了对象可以包含的数据以...
- 前言我们都知道,在c语言中,指针是一种功能十分强大的数据类型,它允许我们直接访问并且操作内存。然而,它在使用时稍有不慎,就会出错。对此,c++引入了一个新的概念:引用。引用可以实现部分类似于指针的功能,并且它比指针更加安全、简洁。 一、引用的概念和定义引用,作为c++中的一种特殊别名机制,当我们定义引用时,并不是创建了一个新变量,而是给原有的变量起了一个别名。它的定义方式如下:(数据类型)... 前言我们都知道,在c语言中,指针是一种功能十分强大的数据类型,它允许我们直接访问并且操作内存。然而,它在使用时稍有不慎,就会出错。对此,c++引入了一个新的概念:引用。引用可以实现部分类似于指针的功能,并且它比指针更加安全、简洁。 一、引用的概念和定义引用,作为c++中的一种特殊别名机制,当我们定义引用时,并不是创建了一个新变量,而是给原有的变量起了一个别名。它的定义方式如下:(数据类型)...
- 引言 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),...
上滑加载中
推荐直播
-
码道新技能,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(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中 -
华为云码道全新升级,多会话并行与多智能体协作2026/05/08 周五 19:00-21:00
王一男-华为云码道产品专家;张嘉冉-华为云码道工程师;胡琦-华为云HCDE;程诗杰-华为云HCDG
华为云码道4月份版本全新升级,此次直播深度解读4月份产品特性,通过“特性解读+实操演示+实战案例+设计创新”的组合,全方位展现码道在多会话并行与多智能体协作方面的能力,赋能开发者提升效率
正在直播
热门标签