根据C++ 14标准,以下程序是否格式错误?
int f() { return 42; }
int main() {
(void)f();
}
Run Code Online (Sandbox Code Playgroud)
如果不是,丢弃值表达式中是否包含唯一的函数调用表达式?(注意,这是子表达式,而不是整个表达式语句)
小智 8
根据C++ 14标准,以下程序是否格式错误?
不.如果您有一些特定的理由认为这可能无效,您可能会得到更详细的答案,但引用标准的每一句话,试图指出该句子不会使该程序无效是没有效率的.
如果不是,丢弃值表达式中是否包含唯一的函数调用表达式?
唯一的函数调用表达式是废弃值表达式.
5.2.9静态强制转换[expr.static.cast]
6任何表达式都可以显式转换为cv 类型
void,在这种情况下,它将成为废弃值表达式(第5条).[...]
我假设你已经意识到static_cast如果可能的话,C风格的演员会表演.
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |