stary znajomy:C++ crazy typedef: jaki jest sens dopuszczenia tej składni przez Standard?
typedef int cute_int; //cute : common and familiar syntax.
Ta składnia jest doskonały. Nie ma problemu.
Teraz, kiedy możemy napisać typedefs jak powyżej, to co jest punktem pozwalając tej składni:
int typedef crazy_int; //crazy : uncommon and unfamiliar syntax.
Wystarczy pomylić programistów? Czy ta składnia jest potrzebna wszędzie (kiedy w rzeczywistości mamy poprzednią)? Co myślisz z punktu widzenia kompilatorów? Czy uważają to za słodkie czy zwariowane? Czy to nie ma znaczenia dla kompilatorów?
Nawiasem mówiąc, ten kod pochodzi tutaj: Use of typename keyword with typedef and new
W przypadku, gdy zastanawiasz się, czy to jest błąd składni, a następnie sprawdzić the working code here na ideone.
C++/C zostały zaprojektowane tak, aby zmylić programistów. Był to wyraźny cel projektowy, aby zmaksymalizować złożoność wyrażeń, które można napisać - do góry nogami można pisać szaleńczo skomplikowany kod na wiele różnych sposobów - wadą jest to, że można pisać szaleńczo skomplikowany kod na wiele różnych sposobów. –
@James, jeśli chcesz zobaczyć język, który maksymalizuje złożoność wyrażeń, powinieneś nauczyć się perla. – SoapBox
Naprawdę nie sądzę, że kompilatory mają jakąkolwiek koncepcję słodkiego lub zwariowanego ... to jest tam świat GIGO. – BoltClock