Макро / встроенный обходной путь для пропуска единообразных инициализаторов в MSVC10 / 11 - PullRequest
2 голосов
/ 24 ноября 2011

Есть ли полупрозрачный способ, который облегчил бы кодирование в стиле, подобном тому, что можно было бы сделать с унифицированными инициализаторами, без использования фактической функции?

Я готов отказаться отбезопасность типов и другие ограничения единообразных инициализаторов (я проверю их валидность с другими компиляторами), но я не хочу отказываться от хороших операторов, таких как

return { "foo", "bar" };
set<string> my_strings = { string_a, string_b };

Макрос, превращающий их в совместимый код длямне бы очень пригодились компиляторы с поддержкой неравномерного инициализатора.

1 Ответ

2 голосов
/ 24 ноября 2011

Нет, нет. Лучшее, что вы можете сделать, это Boost.Assign , но это работает только для реальных контейнеров. И это выглядит не очень хорошо.

Если вы застряли в Visual Studio, вам просто придется жить с его поддержкой C ++ 11.

...