Decltype

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] .

Poznámky

  1. Gregoire, 2018 , Klíčové slovo decltype, s. 40.
  2. Gregoire, 2018 , Návratový typ šablon funkcí, str. 405.
  3. Olsson, 2018 , Auto a Decltype, str. 60.
  4. specifikátory typu zástupného symbolu (od C++11) Archivováno 10. června 2020 na Wayback Machine en.cppreference.com

Zdroje