代码之家  ›  专栏  ›  技术社区  ›  Wyllich

C++:“if语句”中的prim()

  •  -2
  • Wyllich  · 技术社区  · 7 年前

    在学习期间 C++编程语言 Stroustrup提到了prim()函数的存在,该函数将声明变量的范围缩小到一个块。

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

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

    尽管我了解它的兴趣,但我不知道如何使用它:它是某个图书馆的一部分吗?当然,我必须精确标准,因为Visual Studio无法识别该函数。

    提前感谢

    2 回复  |  直到 7 年前
        1
  •  7
  •   Sergey Kalinichenko    7 年前

    该代码演示了在 if 陈述这与 prim(...) 函数,这可能是在书中其他地方定义的。

    下面是另一个示例:

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

    prints hello 150 . 变量 d 只能在 如果 陈述

    请注意 d 扩展到 else 分支机构也是如此( demo ):

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

    注: 在上述示例中,没有理由进行检查 d 其他的 分支,因为它保证为零。

        2
  •  1
  •   Ron Alan    7 年前

    没有 prim() 函数。它是一个用户定义的函数,用于证明 if statement 可以是声明。函数本身在中定义 第10.2.1节 在第页。 245