C++ : "if statement"中的 prim()

C++ : prim() in an "if statement"

本文关键字:prim 中的 statement if C++      更新时间:2023-10-16

在研究B. Stroustrup的C++编程语言时,提到了prim((函数的存在,它将声明变量的范围缩小到一个块。

这是本书提供的一个例子:

if (double d = prim(true)) {
        left /= d;      break;  
}

尽管了解它的兴趣,但我无法弄清楚如何使用它:它是某个库的一部分吗?我必须精确标准,因为Visual Studio无法识别该功能。

提前致谢

该代码演示了在 if 语句的标头中声明局部变量的功能。它与prim(...)函数无关,后者可能在书中的其他地方定义。

这是另一个例子:

int k = 3;
if (int d = k*50) {
    cout << "hello " << d << endl;
}

这将打印hello 150 .变量d只能在 if 语句的主体内部访问。

请注意,d的范围也扩展到else分支(演示(:

int k = 0;
if (int d = k*50) {
    cout << "hello " << d << endl;
} else {
    cout << "goodbye " << d << endl;
}

注意:在上面的示例中,没有理由检查else分支中的d,因为它保证为零。

标准库中没有prim()函数。它是一个用户定义的函数,用于演示 if 语句中的条件可以是声明。函数本身在第 10.2.1 节第 10.2.1 页中定义。245.