关于 C++11 语法的简单问题。有一个示例代码(从源代码中减少了一个)
struct Wanderer
{
explicit Wanderer(std::vector<std::function<void (float)>> & update_loop)
{
update_loop.emplace_back([this](float dt) { update(dt); });
}
void update(float dt);
};
int main()
{
std::vector<std::function<void (float)>> update_loop;
Wanderer wanderer{update_loop}; // why {} ???
}
我想知道,如何使用大括号调用构造函数,例如Wanderer wanderer{update_loop};
它既不是初始化列表,也不是统一初始化。这是什么东西?