Einige Typumwandlungen in <type_traits>
können auch mit Kernsprachsyntax ausgedrückt werden (z. B. std::add_const<T>::type
ist/entspricht const T
). Dto für std::add_lvalue_reference
und vielleicht andere. Was nützen diese Typeigenschaften?Anwendungsfälle für std :: add_const und ähnliche
Ich verstehe der Standard würde eine „unvollständige Toolbox“, ohne sie zur Verfügung stellen, und ich kann die Verwendung in einer Meta-Art und Weise, in etwa so vorstellen:
template<typename In, template <typename> class Modifier>
struct Apply {
typedef typename Modifier<T>::type Out;
};
Apply<int, std::add_const>
es andere Anwendungsfälle für diese Züge welche können syntaktisch ausgedrückt werden oder sind sie nur "aus einem Gefühl der Vollständigkeit" und für den gelegentlichen Meta-Gebrauch enthalten?
Was passiert, wenn 'T' bereits' const' ist? –
@PeterWood [Funktioniert gut] (http://ideone.com/mhY62n), zumindest in gcc 4.7.2 – Angew
@PeterWood Wenn es bereits qualifiziert ist, gibt es den gleichen Typ zurück, wie vom Standard gefordert. – jrok