gpt4 book ai didi

c++ - C++ 中 [[pure]] 的澄清

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

阅读标准 C++ 属性的最新提案 [[pure]]我留下了一些问题:

  1. [[pure]] 函数可以读取常量全局变量吗?
  2. [[pure]] 函数可以读取静态常量变量吗?
  3. [[pure]] 函数是否可以写入但不读取指针或引用变量(并且仍可能返回 void)?

最佳答案

[[pure]],如果我没记错的话,需要 100% 确定特定输入应始终返回特定输出。考虑到 const globals 和 static const globals 不应该改变状态,应该没问题。最后,读取一个可以改变状态的指针将不是一个纯函数。如果您写入在别处访问的指针,那么它会产生副作用并且不是 [[pure]]。

你必须问问自己函数结果是否依赖于一个无关变量的状态,如果你回答是,它就不是 [[pure]]。您还必须问自己,输入是否会影响除返回值以外的任何其他内容。如果那是真的,那么它就不是 [[pure]]

关于c++ - C++ 中 [[pure]] 的澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282585/

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