怎么理解这段代码auto _{ [](){cout << "invoked" << endl;return 0;}() };


    auto _{ [](){
        cout << "invoked" << endl;
        return 0;
    }() };

这段代码怎么理解,匿名函数我看出来了,下划线应该是代表返回值,但是下划线后面跟的{}是什么意思。只能看懂局部,整体看不懂。

等价于

auto func = [](){
    cout << "invoked" << endl;
    return 0;
};

int _ =  func();

下划线后面跟的{}是C++11特有的大括号初始化,相当于给“_”变量赋值

img