gpt4 book ai didi

c++ - C++ 对象如何处理被分配数组文字?

转载 作者:行者123 更新时间:2023-12-04 12:27:47 37 4
gpt4 key购买 nike

我可能没有很好地表达这个问题,但这是我的意思的一个例子。安 unordered_map可以像这样创建:

unordered_map<string,int> map = {
{"A", 3},
{"B", 2},
{"C", 1}
};
我想知道的是我怎样才能让我自己的类能够以这种方式运行?例如,如何解释传递给 map 的所有值?如何访问我分配给它的数组中的每个单独的值?事实上,它甚至是一个数组,因为值不一定都共享一个类型?

最佳答案

您要找的类(class)是 std::initializer_list .它是一个容器,如 std::vector ,您可以轻松地以相同的方式对其进行迭代。只需定义接受 initializer_list 的公共(public)构造函数:

class FromList {
public:
FromList(std::initializer_list<std::string> list) {
for (const auto &passed_list_entry: list) {
// We have the values here
}
}
};

// And using it:
FromList v = { "entry_1", "entry_2", "entry_3" };

关于c++ - C++ 对象如何处理被分配数组文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69277267/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com