[erledigt] Frage zum c++ standard: templates
-
Hi,
wie sieht das bei verschachtelten Templates aus?
ist im Standard definiert, wie das mit den schließenden Klammern aussehen muss?
Leerzeichen pflicht, oder nicht?vector<list<uint8>>
oder
vector<list<uint8> >ich weiß, dass es beimm VS früher Probleme dabei gab, wenn kein Leerzeichen dazwischen war, jetzt gehts.
Die Frage ist, was sagt der Standard.
Hab leider grad keine Zeit da zu suchen und hoffe, dass jemand die Antwort direkt kennt.
Danke im Voraus.
Vlad
-
Die Leerzeichen sind pflicht!
Aber mit C++0x (also dem kommenden Standard) sind sie keine Pflicht mehr.Der MSVC2005 unterstützt dieses C++0x-Feature allerdings schon.
Offiziell ist es also (noch) kein Standard.
-
vlad_tepesch schrieb:
Leerzeichen pflicht, oder nicht?
Noch, ja. Mit C++0x kann das Leerzeichen wegbleiben, vermutlich kanns VS deshalb auch schon, bzw. es ist einfach eine Erweiterung für die Bequemlichkeit des Programmierers. Ist aber eben noch nicht standard und daher nicht portabel.
-
ok, super, das ging ja flott

Vielen Dank!Edit:
VS kanns glaub ich seit 2003.Mir ist es jetzt nur beim Doxygen parser extrem auf die Füße gefallen:
--> http://www.c-plusplus.net/forum/viewtopic-var-t-is-246576.htmlHat ne ganze weile gedauert, bis ich darauf gekommen bin, da die Fehlermeldung auch komplett sinnlos ist.
-
Ich frage mich, warum das Pflicht ist/war. Eindeutig ist es doch auch ohne Leerzeichen. Ich meine, kein Parser wird wo blöd sein und das irgendwie mit dem Rechts-Shift-Operator verwechseln...

-
der doxygen - parser schon.
-
_matze schrieb:
Ich meine, kein Parser wird wo blöd sein und das irgendwie mit dem Rechts-Shift-Operator verwechseln...

Die Standardleute haben seinerzeit nicht erkannt dass man explizit festlegen sollte dass kei Parser so blöd sein darf. Deshalb dürfen sie immernoch so blöd sein und einige sind eben dann auch so blöd.