003
05.01.2007, 16:13 Uhr
J-jayz-Z
Perl Crack ala Carte (Operator)
|
Na ja, ich denke hier kennt fast jeder die using Anweisung auf den Namespace std, es hat jedoch sein Grund, weshalb es nicht hingeschrieben wird. Zum einen sieht der Code dann besser aus, zum anderen werden sehr viele Hauptsächlich Header-Files schreiben. Da hat using nichts zu suchen weil man den Endanwender janicht zwingen will, den Namespace std zu verwenden. Das ist dann einfach gewohnheit. Zusätlich werden hier auch viele mit boost und anderen Bibliotheken arbeiten - man weiß dann einfach gerne, in welchem Namespace man sich bewegt.
Zu templates, templates sind einfach nur eine Möglichkeit, Code noch vielseitiger (generischer) zu gestalten. Oben steht
C++: |
template< typename TO, typename FROM >
|
das TO wird zu std::string, weil wir das hier
C++: |
buffer = speicherort+lexi_cast [ <std::string> ] (i)+".txt";
|
ihm sagen. FROM wird zu int, weil das der Datentyp von i ist. Also prinzipiel einfach nur Platzhalter für Datentypen, wenn man die Funktion für alle Datentypen und Klassen benutzbar machen will. -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"' |