Lifetime Safety in C++: Past, Present and Future
2.03 MB
124 页
0 评论
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档讨论了C++在生命周期安全性(Lifetime Safety)方面的发展现状和未来的改进方向,包括工具箱、长期和短期调查,以及C++ Core Guidelines的Lifetime Safety Profile的修订计划。内容涵盖了C++生命周期安全工具箱的应用、短期调查中的具体内容如流敏感检查和高信度警告处理,以及相关提案如P2255和P2771的讨论。文档还提到了constexpr和consteval等功能的改进,以及Herb Sutter对Lifetime Safety Profile的修订计划,这些都是C++未来发展的重要方向。 | ||
| AI总结 | ||
以下是对文档内容的总结:
---
## 《Lifetime Safety in C++: Past, Present and Future》总结
### 文档核心内容
本文档主要探讨了C++在生命周期安全(Lifetime Safety)方面的现状、近期改进和未来发展方向,重点围绕以下几个方面展开:
---
### 1. **C++生命周期安全的工具箱**
C++正在变得更安全,其生命周期安全工具箱包含以下内容:
- **短期调查与改进**:微软正在进行的短期工作包括:
- 关闭语句本地生命周期检查的差距。
- 将高置信度的生命周期警告移出实验阶段。
- 扩展`lifetimebound`支持到流敏感检查。
- 比较Crubit与C++核心指南的生命周期安全配置文件。
- **C++核心指南的生命周期安全-profile**:Herb Sutter计划在C++2x中修订生命周期安全配置文件。
---
### 2. **C++的安全性改进**
C++的安全性正在逐步提升,具体体现在:
- **constexpr/consteval关键字**:如`consteval`可以防止返回仅临时对象的指针。
```cpp
consteval int f() { int *p = nullptr; { int i = 1729; p = &i; } return *p; }
```
- **P2255提案**:解决从临时对象构造引用的问题,例如:
```cpp
std::tuple | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
112 页请下载阅读 -
文档评分













