C++11 use in Chromium
2014-09-27 10:27 pmhttp://chromium-cpp.appspot.com/ перечисляет фичи C++11, которые разрешены и забанены в проекте Google Chrome. Забавно, кстати, что вариадические шаблоны в C++11 делают ненужным специализированный велосипед с квадратными колёсами препроцессор pump, который был написан в Google, чтобы смягчить отсутствие этих самых вариадических шаблонов в C++98.
Среди забаненных фич (например constexpr, move references, char16_t, char32_t, Unicode literals) основная причина бана — неподдержка в компиляторе MSVC2013. По-моему, это добрая половина нового стандарта, и тут не фичи C++11 нужно банить, а сам компилятор. Ну или для всех практических целей считать, что этот компилятор поддерживает только режим C++98.
Особенно с учётом того, что в GCC недавно была добавлена поддержка SEH ABI для исключений (ранее gcc под виндой обрабатывал исключения только в режимах dwarf2 и sjlj. dwarf2 хорош в Linux, а в винде его использование приводило к падению процесса во время раскрутки стека на первой же функции, сгенерированной компилятором MSVC; а sjlj работает через setjump/longjump — что очень медленно, даже когда исключения не генерируются).
Среди забаненных фич (например constexpr, move references, char16_t, char32_t, Unicode literals) основная причина бана — неподдержка в компиляторе MSVC2013. По-моему, это добрая половина нового стандарта, и тут не фичи C++11 нужно банить, а сам компилятор. Ну или для всех практических целей считать, что этот компилятор поддерживает только режим C++98.
Особенно с учётом того, что в GCC недавно была добавлена поддержка SEH ABI для исключений (ранее gcc под виндой обрабатывал исключения только в режимах dwarf2 и sjlj. dwarf2 хорош в Linux, а в винде его использование приводило к падению процесса во время раскрутки стека на первой же функции, сгенерированной компилятором MSVC; а sjlj работает через setjump/longjump — что очень медленно, даже когда исключения не генерируются).
no subject
Date: 2014-09-28 10:07 am (UTC)no subject
Date: 2014-09-28 02:14 pm (UTC)no subject
Date: 2014-09-28 02:16 pm (UTC)https://webglsamples.googlecode.com/hg/aquarium/aquarium.html
без них в наше время, сами понимаете, никуда
no subject
Date: 2014-09-28 10:46 pm (UTC)PS: если вдруг не нравится вежливая аналогия с Лего - то есть и другая: ведро с гайками.
no subject
Date: 2014-09-29 05:02 am (UTC)Но это (мне лично) не кажется такой уж большой платой за вкусности С++ 11.
no subject
Date: 2014-09-29 04:53 pm (UTC)тот же variadic templates больше для библиотекописателей, чем для простых смертных.