odr-used 变量的定义如下:
变量 x 其名称显示为潜在求值表达式 ex 是 odr-used 除非 x 满足出现在常量表达式 (5.19) 中的要求,并且,如果 x 是一个对象,ex 是一组潜在结果的元素表达式 e,其中左值到右值的转换 (4.1) 应用于 e,或者 e 是丢弃值表达式(第 5 条)。
据我了解ex
,可以是任何包含x
作为潜在评估操作数的表达式,例如,x++
或
int foo(int);
int x;
//...
x+=foo(x);
但我不明白e
在那种情况下是什么。