【发布时间】:2011-04-06 11:23:43
【问题描述】:
任何人都可以从ISO N3242§3.2,第二点解释这个陈述
一个表达式可能被计算,除非它是一个未计算的操作数 (第 5 条)或其子表达式。变量或非重载 名称显示为潜在求值表达式的函数是 odr-used 除非它是一个满足出现在 持续的 表达式 (5.19) 和左值到右值的转换 (4.1) 是 立即地 应用。如果它显示为可能已评估,则此为 odr-used 表达 (包括作为主体中隐式转换的结果 一种 非静态成员函数 (9.3.1))。
ISO 2003 标准:说
一个表达式可能会被计算,除非它出现在 不可缺少的 常量表达式是必需的(见 5.19),是 大小 运算符(5.3.3),或者是 typeid 运算符的操作数和 表达 不指定多态类类型 (5.2.8) 的左值。一个 对象或 如果它的名字出现在一个非重载函数 潜在评估 表达。
这些语句的实际区别是什么?
任何人都可以借助示例/程序来解释这一点吗?
【问题讨论】:
-
@Andrea :不仅解释......我要求差异/比较..旧的和新的
-
我试着总结一下标题中的问题,欢迎修正。