was sind traits
-
hola
immer wieder les ich bei streams usw. traits. was soll das sein ?
in meinem recht kleinen englischwoerterbuch steht unter traits: Charaktereigenschaft. versteh ich nicht was das bei streams in verbindung mit chars bedeuten sollkann mir das jemand erklaeren ?
Meep Meep
-
-
lol coole seite... ^^
-
re
hb jetz lange gesucht aber nix richtiges gefunden. irgendwie scheinen traits sowas aehnliches wie eigenschaften von klassen bzw PODs zu sein. aber wie man das anwendet oder was man damit machen kann ist mir noch immer ein raetsel.
kann man damit rausfinden ob eine variable x ein POD ist ?
vielleicht kennt sich ja doch noch jemand dabei aus und erbarmt sich meiner
Meep Meep
-
Modernes C++ Design von Andrei Alexandrescu schrieb:
Traits (zu deutsch Characterzüge) sind eine generische Programmiertechnik, mit der während des Kompilierens anhand der Typen Entscheidungen so getroffen werden können, wie dies für Werte während der Laufzeit möglich ist. Durch Hinzufügen der sprichwörtlichen "zusätzlichen Umleitungsebene", die viele Probleme des Software-Engineering löst, können mit Traits typbezogene Entscheidungen außerhalb des unmittelbaren Kontextes getroffen werden, in dem sie erzeugt werden. Das führt zu einem sauberen Code, der besser zu lesen und einfacher zu warten ist.
Üblicherweise werden eigene Trait-Templates und Klassen geschrieben, wenn der generische Code sie benötigt. Bestimmte Traits sind aber auf alle Typen anwendbar. Sie erleichtern dem generischen Programmierer das Verfassen maßgeschneiderter Template-Codes für einen Typ.
Ein Copy-Algorithmus kann als Beispiel dienen:
template < typename InIt , typename OutIt > OutIt Copy(InIt first , InIt last , OutIt result ) { for(;first != last; ++first, ++result) *result = *first; return result; }
Er schreibt dazu noch viel mehr aber das sollte erst mal reichen.