C++中的表达式和表达式语句是什么?

2023-12-24

我读过,C++ 中的语句通常以分号结尾;所以这可能有助于解释什么是表达式语句。但是举个例子,你会怎么称呼表达式呢?

在这种情况下,两者都只是语句还是表达式语句或表达式?

int x;
x = 0;

An 表达是“指定计算的运算符和操作数的序列”(这是 C++ 标准中给出的定义)。例子是42, 2 + 2, "hello, world", and func("argument")。赋值是 C++ 中的表达式;函数调用也是如此。

我没有看到术语“语句”的定义,但基本上它是执行某些操作的代码块。示例是复合语句(由零个或多个其他语句组成){ ... })、if 语句、goto 语句、return 语句和表达式语句。 (在 C++ 中,声明被归类为语句,但在 C 中则不然。)

条款陈述 and 表达由语言语法非常精确地定义。

An 表达式语句是一种特殊的陈述。它由一个可选表达式后跟一个分号组成。计算表达式并丢弃任何结果。通常,当语句有副作用时使用它(否则没有多大意义),但是您可以使用表达式没有副作用的表达式语句。例子有:

x = 42; // the expression happens to be an assignment

func("argument");

42; // no side effects, allowed but not useful

; // a null statement

null 语句是一种特殊情况。 (我不确定为什么要这样对待;在我看来,将其作为一种明确的声明更有意义。但这就是标准定义它的方式。)

注意

return 42;

是一个声明,但它是not一个表达式语句。它包含一个表达式,但是该表达式(加上;) 并不构成整个声明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++中的表达式和表达式语句是什么? 的相关文章

随机推荐