Decltype

decltypeär ett C++ programmeringsspråkssökord som förekom i den uppdaterade C++11- standarden . Tillsammans med nyckelordet används det för att sluta sig till vilka typer av uttryck det tar som argument. auto

Nyckelordet decltypehar fått stor användning när man arbetar med generiska datatyper . Skillnaden mellan decltypeoch autokommer ner på typen av returvärde: resultatet av användningen autoförlorar typkvalificerarna constoch &, och resultatet av användningen decltypebehåller dem för vidare arbete [1] [2] .

Även i C++11-standarden kan nyckelordet decltypeanvändas för att deklarera returtypen för en funktion i de fall där ett nytt sätt att skriva en funktionssignatur används (där returvärdet följer listan med dess parametrar) [3 ] .

Den uppdaterade språkstandarden C++14 introducerade möjligheten att deklarera variabler med en typspecifikation decltype(auto), som instruerar kompilatorn att välja en datatyp för dem baserat på typen av initialiserare [4] .

Anteckningar

  1. Gregoire, 2018 , The decltype Keyword, s. 40.
  2. Gregoire, 2018 , Return Type of Function Templates, sid. 405.
  3. Olsson, 2018 , Auto och Decltype, sid. 60.
  4. specifikationer för platshållartyp (sedan C++11) Arkiverad 10 juni 2020 på Wayback Machine en.cppreference.com

Källor