在C++中返回一个范围

Boa*_*oaz 17 c++ gcc

我在gcc 4.5.1的文件中遇到以下代码(看起来像头文件)iomanip:

inline _Setbase  
setbase(int __base)  
{ return { __base }; }  
Run Code Online (Sandbox Code Playgroud)

返回范围(块)的语言定义是什么?

rek*_*o_t 17

看起来像C++ 0x中的统一初始化的新语法.

  • 即使使用POD类型,也无法在C++ 03中执行此操作,因为在此上下文中不允许使用聚合初始值设定项.您可以自己检查:http://ideone.com/PHX5y,注释行可以在C++ 03中使用. (3认同)

Fre*_*Foo 6

这不会返回一个块.这构造了一个类型的对象_Setbase,在同一个头文件中定义

struct _Setbase { int _M_base; };
Run Code Online (Sandbox Code Playgroud)