如何初始化initializer_list?

问题描述 投票:0回答:1

一些cpp类接受initializer_list作为输入,例如:

std::map<std::string, int> m{{"CPU", 10}, {"GPU", 15}, {"RAM", 20}};

std::map<std::string, int> m={{"CPU", 10}, {"GPU", 15}, {"RAM", 20}};

是否可以定义一个initializer_list变量,然后用它来调用构造函数?即类似:

auto il = {{"CPU", 10}, {"GPU", 15}, {"RAM", 20}};

std::map<std::string, int> m = il;
c++ initialization
1个回答
0
投票

是的。示例:

#include <initializer_list>
#include <map>
#include <string>

int main() {
    std::initializer_list<std::pair<const std::string, int>> il = {
        {"CPU", 10}, {"GPU", 15}, {"RAM", 20}};

    std::map<std::string, int> m = il;
}
© www.soinside.com 2019 - 2024. All rights reserved.