宏/内联函数解决MSVC10/11中缺少统一初始化式的问题

Macro/inline-function workaround for missing uniform initializers in MSVC10/11

本文关键字:初始化 问题 函数 解决 MSVC10      更新时间:2023-10-16

是否有一种半透明的方式,可以在不使用实际功能的情况下,更容易地以类似于使用统一初始化项的风格进行编码?

我愿意放弃统一初始化器的类型安全和其他约束(我将与其他编译器检查它们的有效性),但我不想放弃像

这样的漂亮语句。
return { "foo", "bar" };
set<string> my_strings = { string_a, string_b };

一个宏将这些转换成兼容的代码,为非统一的初始化功能编译器将是非常有用的。

不,没有。你能做的最好的就是Boost。赋值,但这只适用于实际的容器。而且看起来也不怎么好看。

如果你坚持使用Visual Studio,你将不得不忍受它对c++ 11的支持。