C++. Типизация

C++ имеет статическую слабую явную типизацию.

При статической типизации типы переменных и функций устанавливаются на этапе компиляции. Cложный, но быстрый код.

При слабой/нестрогой типизациии множество неявных преобразований выполняются автоматически, даже если может произойти потеря точности или преобразование неоднозначно.

При явной типизации тип новых переменных/функций/их аргументов нужно задавать явно.

Несмотря на все вышесказанное, C++11 получил поддержку неявной типизации с помощью ключевых слов auto и decltype. Поддерживает динамическую типизацию при использовании библиотеки Boost (boost::any, boost::variant). Имеет черты как сильной так и слабой типизации.