搜索

ppt文档 C++20's <Chrono>

8.67 MB 55 页 0 下载 69 浏览 0 评论 0 收藏
所属分类: 后端开发 / C++
语言 格式 评分
英语
.pptx
3
摘要
文档主要介绍了C++20中新加入的chrono库,包括新增的时钟类型(如utc clock、tai clock、gps clock)和calendrical类型(如chrono::day、chrono::month等)。文档还详细讨论了在MSVC中实现这些功能的挑战,特别是处理时区和国际日期变更线数据库(IANA)时遇到的复杂性。此外,文档通过示例代码展示了如何使用这些新功能进行时间计算和处理。
AI总结
### 文档总结:C++20 的 `` 库 #### 一、开发过程 - **开源协作**:C++20 `` 的开发在微软的开源项目(GitHub 仓库 `microsoft/STL`)中完成,得到了社区贡献者的支持,特别是 `statementreply`、`Matt Stephanson` 和 `Daniel Marshall` 的贡献。 - **开发工具**:使用了功能分支(`feature/chrono`)进行快速开发,并通过代码审查视频(如关于时钟、时区、系统时钟等内容的讲解视频)推动协作。 #### 二、新加入的时钟 - **新增时钟**:C++20 引入了以下新时钟: - `utc_clock` - `tai_clock` - `gps_clock` - **现有时钟**:保留了原有的 `system_clock` 和 `file_clock`。 #### 三、日历类型 - **新类类型**:C++20 提供了丰富的日历相关类,包括: - `chrono::day` - `chrono::month` - `chrono::year` - `chrono::month_day` - `chrono::weekday` - `chrono::weekday_indexed` - `chrono::year_month_day` - `chrono::year_month_day_last` - `chrono::year_month_weekday_last` - **示例**:展示了如何使用这些新类型来表示日期和时间,例如: - `year this_year{2021};` - `month_weekday mwd{November, Thursday[4]};` #### 四、时区处理 - **IANA 数据库挑战**:文档提到 IANA 时间区数据库的复杂性。 - **微软实现**:MSVC STL 将所有 ICU 时间区(规范和非规范)视为有效时间区。 #### 五、结论 - **亮点**:C++20 `` 引入了大量新功能,极大提升了日期和时间处理的灵活性和效率。 - **挑战与解决方案**:尽管在 Windows 系统上实现面临挑战,但通过团队协作成功解决了问题。 - **复杂性**:时间系统的复杂性远超想象,需谨慎处理。 总结:C++20 `` 是一个功能强大且复杂的库,通过新增时钟、日历类型和时区支持,显著提升了日期和时间处理的能力。尽管开发过程中面临挑战,但最终实现了高效且灵活的解决方案。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 43 页请下载阅读 -
文档评分
请文明评论,理性发言.