C++ is a statically typed language, meaning variable types are checked and enforced at compile time. This is different from dynamically typed languages where types are checked at runtime. The language is neither type-less nor both statically and dynamically typed.