我正在包装一个 C++ fn 的形式
foo(input, std::initializer_list<Option> options);
我需要从另一种格式的数据构建一个选项列表,并将它们传递给 foo
。 I can't see一种以编程方式构建 std::initializer_list
的方法——对吗? (如果被迫使用更标准的容器是有道理的,但我想在重构之前进行检查。)
最佳答案
在标准 C++ 中是没有办法的。 std::initializer_list
是一种语言支持类型。它的存在使我们可以使用语言构造(列表初始化)。
因此,只有实现才能创建它们,并且只有在进行列表初始化时才需要实现。您的实现可能会提供允许创建它们的扩展,但这不太可能产生标准代码。
关于c++ - 是否可以以编程方式构造 std::initializer_list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52183608/