Я главным образом использую C++, чтобы сделать научные вычисления, и в последнее время я ограничивал меня очень подобным C подмножеством функций C++; а именно, никакие классы/наследование кроме комплекса и STL, шаблоны, только используемые для, не находят/заменяют виды замен и несколько других вещей, я не могу вставить слова первое, что пришло на ум. Я задаюсь вопросом, существуют ли какие-либо официальные или хорошо зарегистрированные подмножества языка C++, что я мог посмотреть на для ссылки (а также объяснение), когда я иду о привередничании который функции использовать.
Не так давно я слушал этот подкаст SE-Radio - Эпизод 152: MISRA с Йоханом Беземом , который вводит MISRA, стандартные рекомендации для C и C ++ для обеспечения лучшего качества, попробуйте взглянуть на него.
Разработчики GCC собираются разрешить некоторые функции C ++. Мне пока не известны какие-либо официальные правила, но я почти уверен, что они будут определять некоторые из них. Взгляните на первоначальный отчет в списке рассылки.
Что ж, последние разработки (TR1, C ++ 0x) в C ++ сделали его очень универсальным, позволяя вам выполнять императивное, ООП или даже (ограниченное) функциональное программирование на C ++. Такие библиотеки, как Boost, также позволяют выполнять очень мощное декларативное метапрограммирование на основе шаблонов.
Я думаю, что Boost - это первое, что можно попробовать на C ++. Это обширная библиотека, которая также включает несколько модулей, позволяющих программировать в функциональном стиле (Boost.Functional) или создавать декларативное метапрограммирование во время компиляции (Boost MPL).