decltypeje klíčové slovo programovacího jazyka C++ , které se objevilo v aktualizovaném standardu C++11 . Spolu s klíčovým slovem autose používá k odvození typů výrazů, které bere jako argument.
Klíčové slovo decltypenašlo široké použití při práci s generickými datovými typy . Rozdíl mezi decltypea autospočívá v typu návratové hodnoty: výsledek použití autoztratí kvalifikátory typu consta &a výsledek použití decltypesi je ponechá pro další práci [1] [2] .
Také ve standardu C++11 decltypelze klíčové slovo použít k deklaraci návratového typu funkce v případech, kdy je použit nový způsob zápisu podpisu funkce (ve kterém návratová hodnota následuje seznam jejích parametrů) [3 ] .
Aktualizovaný standard jazyka C++14 zavedl možnost deklarovat proměnné se specifikátorem typu decltype(auto), který dává kompilátoru pokyn, aby si pro ně vybral datový typ na základě typu inicializátoru [4] .