Podobnie jak w przypadku operatora sizeof, operand decltype nie jest wykonywany.
Motywacja Po wprowadzeniu szablonów w języku programowania C++ i tym samym umożliwieniu programowania uogólnionego, zapoczątkowanego przez standardową bibliotekę szablonów, zauważono potrzebę mechanizmu uzyskiwania typu wyrażenia, powszechnie określanego mianem typeof. W programowaniu uogólnionym często trudno określić typ zależny od parametrów szablonu lub jest to niemożliwe, zwłaszcza gdy chodzi o typ wyniku funkcji realizowanej w definicji szablonu.
Wielu producentów dostarcza operator typeof jako rozszerzenie kompilatora. Już w 1997 roku, zanim C++ został w pełni ustandaryzowany, Brian Parker zaproponował przenośne rozwiązanie wykorzystujące operator sizeof. Następnie pracę tę poszerzył Bill Gibbons, który stwierdził, że ta technika ma kilka ograniczeń i w ogólności jest mniej skuteczna niż rzeczywisty mechanizm typeof. W październiku 2000 roku w artykule w Dr. Dobb's Journal, Andrei Alexandrescu zauważył że, posiadanie operatora typeof znacznie by uprościło pisanie i rozumienie szablonów. Wspomniał również, że typeof i sizeof używają takiego samego wsparcia wewnętrznego, ponieważ operator sizeof i tak musi najpierw określić typ. Andrew Koenig i Barbara E.