是否有一种半透明的方式可以更容易地以类似于使用统一初始化程序的方式进行编码,而不使用实际功能?
我愿意放弃统一初始化程序的类型安全和其他约束(我会用其他编译器检查它们的有效性),但我不想放弃像这样的好语句
return { "foo", "bar" };
set<string> my_strings = { string_a, string_b };
将这些转换为非统一初始化程序编译器的兼容代码的宏对我来说非常有用。
是否有一种半透明的方式可以更容易地以类似于使用统一初始化程序的方式进行编码,而不使用实际功能?
我愿意放弃统一初始化程序的类型安全和其他约束(我会用其他编译器检查它们的有效性),但我不想放弃像这样的好语句
return { "foo", "bar" };
set<string> my_strings = { string_a, string_b };
将这些转换为非统一初始化程序编译器的兼容代码的宏对我来说非常有用。
不,那里没有。您能做的最好的事情是Boost.Assign,但这仅适用于实际容器。而且看起来也不怎么好看。
如果你被 Visual Studio 卡住了,你只需要忍受它的 C++11 支持。