繁体   English   中英

什么({}); 用C ++表示?

[英]What Does ({}); Mean in C++?

AFAIK {}定义了一个新范围,那么它定义了什么?

({});

编译器很好地编译了这个程序:

#include <iostream>
#include <string>

int main()
{
  std::string name;
  std::cout << "What is your name? ";
  {
     ({}); 
  }
  getline (std::cin, name);
  std::cout << "Hello, " << name << "!\n";
}

当我替换({}); with (); 编译器无法编译程序。

为什么({}); 工作得很好,但(); 才不是?

我在cpp.sh上测试了该程序。 它汇编得很好。

({}); 不是标准C ++的一部分。 正如@HolyBlackCat所说,这是编译器扩展。 使用-pedantic-errors禁用编译器扩展。

g++编译时,请参阅此处的实时演示

vc++上编译时,请参阅此处的实时演示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM