为什么函数
以下标准引用与初始化列表相关,是否相关?
§8.5.4.4:在大括号初始化列表的初始化器列表中,包括由展开包(§14.5.3)生成的任何初始化器子句都按照它们出现的顺序进行评估。
g()
被称为第一个?我将g()
定义为初始化列表中的第二个元素。以下标准引用与初始化列表相关,是否相关?
§8.5.4.4:在大括号初始化列表的初始化器列表中,包括由展开包(§14.5.3)生成的任何初始化器子句都按照它们出现的顺序进行评估。
#include <iostream>
#include <vector>
int f() { std::cout << "f"; return 0;}
int g() { std::cout << "g"; return 0;}
void h(std::vector<int> v) {}
int main() {
h({f(), g()});
}
输出:
gf
std::initializer_list
构造函数进行初始化的。 - Some programmer dude