gpt4 book ai didi

c++ - optional 进入 C++ 标准的含义

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:31 25 4
gpt4 key购买 nike

std::optional<T> 构造最近(?)被采用到 C++17 语言标准中。现在,现有 API 中有很多地方 std::optional<T>是替代函数返回类型的候选者;本质上,这些函数试图检索/生成某些东西,但不能保证一定会成功:

  • 在容器中查找元素。
  • 通过键访问映射中的值。
  • 分配内存
  • 从文件或网络建立输入/输出流

因此,我的问题是:标准委员会是否正在考虑(甚至已经接受)对涉及使用 std::optional 的已建立 API 进行更改/添加? ?如果是,标准的哪些部分(据您所知)可能会发生变化? C++17 或更高版本是否会发生此类更改?

最佳答案

Is the standard committee considering (or even has it accepted) changes/additions to established APIs that involve the use of std::optional?

委员会是否不太可能更改任何当前标准库对诸如 std::pair 之类的东西的使用,直到它被删除。如果他们“热衷于”这一点,他们就会应用类似于改变 std::tuple 而非 std::pair 的使用。

像这样的更改会破坏 API,并且委员会“已知”对此不利,除非(破坏向后兼容性)他们相对确定破坏是最小的并且更改的优势大于可能发生的破坏。我认为 auto 是这种方法的合理示例。

If it is what parts of the standard (to your knowledge) are likely to change? And are such changes expected for C++17 or later?

期望库中的新添加物使用库中的新添加物。所以,基本上,期望新类使用 std::optional(根据需要)。

关于c++ - optional<T> 进入 C++ 标准的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37877101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com