C++17引入了if语句的新语法形式,允许在if语句中包含初始化语句。这种语法形式称为"init-statement"的if语句。在这种语法形式中,if语句的初始化语句允许在条件表达式之前执行一些额外的初始化操作。
这样的语法形式允许在if语句中包含多条语句,其中第一条是初始化语句,之后是条件表达式,以及可选的语句块(即if语句的主体)。这种语法形式的引入使得代码更加紧凑和易读,可以在需要时将相关的初始化操作与条件判断结合在一起,提高了代码的可读性和简洁性。
#include <iostream>
int main() {
if (int x = 6) {
std::cout << "true:" << x << std::endl;
} else {
std::cout << "false:" << x << std::endl;
} // zx的作用域结束
if (int y = 10; y > 5) {
std::cout << "true:" << y << std::endl;
}
return 0;
}