Чтение на С++ 17 и теперь возможны несколько инициализаций внутри if:
if (int x = func(), y = func2(); x > 0 && y > 0)
{
}
Хороший, также в сочетании с другой функцией в С++ 17, структурированные привязки:
if (auto[iter, success] = set.insert("Hello"); success)
{ }
else
{ }
Но объединение функций не компилируется в VisualStudio 2017.
if (auto[iter, success] = set.insert("Hello"), [iter2, success2] = set.insert("Foo"); success && success2)
{}
else
{}
отсутствует ';' до ','
Является ли это ошибкой в VS2017 или это невозможно?