gpt4 book ai didi

c++ - 什么是潜在评估表达式?

转载 作者:行者123 更新时间:2023-11-30 01:07:17 26 4
gpt4 key购买 nike

我正在阅读 ODR-use我遇到了这个:

a variable x in a potentially-evaluated expression ex is odr-used unless both of the following are true:

什么是潜在求值表达式

更新:我可能只是在向下滚动页面时找到了答案:

In the definitions above, potentially-evaluated means the expression is not an unevaluated operand (or its subexpression), such as the operand of sizeof and a set of potential results of an expression e is a (possibly empty) set of id-expressions that appear within e, combined as follows:

但不确定这是否是它的一般含义 + 反正我也不是很理解他们的解释。另外,为什么要说潜在结果 而不仅仅是结果

最佳答案

用最简单的话来说,potentially-evaluated 正是它所说的:表达式有机会被求值。这包括除 sizeof(ex)decltype(ex)typeid(ex)noexcept(ex) 之外的所有内容>。除了在这些上下文中,ex 是潜在评估的。

关于 odr-used,这意味着只有当 ex 被潜在评估时,x 才被认为是 odr-used。也就是说,x被odr-used的必要条件是ex必须是潜在可评估的。这使得诸如

struct S
{
static float f; // declared but not defined
};

decltype(&S::f) p1; // since &S::f isn't potentially evaluated, this is well-formed

float* p2 = &S::f; // this is ill-formed

关于c++ - 什么是潜在评估表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892399/

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