測試代碼:
int sum(std::initializer_list<int> params) { // 傳遞若干同類型參數int total = 0;for (auto num : params) {total += num;}return total;
}void testInitializer_list() {// 自定義類支持列表初始化class Demo {public:Demo(std::initializer_list<int> values) {for (auto val : values) {std::cout << val << " ";}}};std::cout << "Sum: " << sum({ 9, 5, 2, 7 }) << std::endl;Demo d({ 9, 5, 2, 7 });
}
打印:
ok.??initializer_list可作為函數參數傳遞同類型可變數量參數。或用于自定義類構造函數支持列表初始化