N
Tachyon schrieb:
Das funktioniert leider nur für statische Arrays. Bei dynamischen Arrays funktioniert das leider nicht mehr, weil die benötigte Information anonym und nicht verfügbar ist. Solche Konstrukte sind eher gefährlich denn nützlich.
Ja, es funktioniert nur mit statischen Arrays. Aber zu sagen, Arrays könnten nur als Zeiger übergeben werden, ist dennoch falsch. Vor allem, weil mit "Array" in erster Linie ein statisches Array bezeichnet wird. Und warum soll die Übergabe als Referenz gefährlich sein? Wenn man etwas anderes als ein statisches Array übergibt, gibts einen Compilerfehler. Sicherer kann man ein Array (an sich) nicht übergeben.
Tachyon schrieb:
Die Übergabe mit Zeiger+Größe hat ja den Sinn, ggf. beliebige Arrays beliebiger Länge verarbeiten zu können. Das ist bei der Variante mit Ref+Template nicht mehr gegeben.
Da hast du schon Recht. Allerdings kommt es in der Praxis sowieso selten vor, dass man auf rohen Arrays arbeitet. Wenn, dann eher innerhalb einer Datenstruktur, und da könnte die Templatelösung bei statischen Arrays schon von Vorteil sein. Aber ich verwende zumindest immer std::tr1::array , wenn ich statische Arrays brauche, und ansonsten die STL-Container.
Kritiker schrieb:
Ja, als unregistrierter Outsider bleibt einem ja nur die Möglichkeit einen Kommentar hinzuzufügen, wenn der eigene Beitrag zu spät kommt und praktisch dasselbe aussagt wie der vom Vordermann dem Schnellschreiber.
Wieder ein Grund, sich anzumelden. Dann kannst du auch vermeiden, dass Flamewars unter deinem Namen ausgetragen werden.