И всегда можно утверждать, что новые языковые функции делают код более понятным ... таким образом, меньше ошибок, связанных с недоразумениями; особенно если компилятор может проверить и проверить ваши предположения.
По моему не столь скромному мнению, есть несколько языковых особенностей, то есть стандартные универсальные функции языка программирования, которые оба выходят за пределы допустимых стандартов И стоят времени и энергии, чтобы спорить с вами. путь в оценке. Если вы стремитесь к более высокому уровню абстракции (что также полезно для безопасности, хотя вряд ли вы найдете кого-либо, кто открыто признает это, поскольку это приведет к тому, что половина отрасли безопасности станет безработной, а другая половина - сильно устаревшей), тогда вы Было бы лучше прибегнуть к языку, специфичному для предметной области, и приложить усилия для безупречной компиляции (к исходному тексту) для стандартной платформы. Если вы не работаете в инженерной культуре, которая допускает это, тогда вы можете прибегнуть к некоторым исправлениям, которые предлагает другой ответ, но всегда трудно убедительно перенести намерение и значение неспецифических мер в другую безопасность. инженеры (специализированный язык, специфичный для предметной области, гораздо легче поддерживать и поддерживать).
Тем не менее, я думаю, что достижения в параллельном программировании в современном C ++ относительно быстро войдут в стандарты.