C++0x, долгожданный окончательный проект следующей версии был согласован, что означает, что окончательный стандарт должен быть у нас к лету. Что в этом для среднего программиста на C++?
Комитет ISO C++ достиг заключительной стадии разработки следующей версии языка C++, известной как C++0x. Единственным оставшимся шагом является обновление окончательного проекта и представление его в ITTF, что означает, что стандарт должен быть готов к работе летом 2011 года.
Как и в случае со всеми языковыми стандартами, основные компиляторы GCC и Visual C++ уже включают большинство основных функций, но теперь, когда стандарт завершен, они могут завершить работу. Последний стандарт C++ был выпущен в 2003 году, и потребовалось восемь, некоторые сказали бы, долгих лет, чтобы завершить последний.
Так что же такое C++0x?
Есть несколько технических усовершенствований, которые позволяют делать вещи, которые вы, вероятно, никогда не замечали, что не могли сделать в более ранних версиях, таких как ссылка на значение и семантика перемещения и постоянные выражения. Затем есть более очевидные захваты заголовков, такие как: списки инициализаторов, вывод типов, a для каждого цикла, лямбда-функции и выражения, а также строго типизированные перечисления. Из них доступность лямбда-функций, вероятно, приведет к самым большим изменениям в стиле программирования, но кто знает?
Есть также много других незначительных улучшений — не столь незначительных, если они представляют собой решение вашей любимой ненависти к C++, — но в целом изменения предназначены для того, чтобы функции языка лучше работали вместе, а не вводили «конфеты программиста».
Однако, глядя на новые функции в C++0x, вы не можете не сравнить его с C#, который приобрел большинство новых функций в C++0x за долю времени. Это накладные расходы на разработку языков комитетом?