старый знакомый:C++ crazy typedef: в чем смысл разрешить этот синтаксис стандартом?
typedef int cute_int; //cute : common and familiar syntax.
Этот синтаксис является совершенным. Нет проблем.
Теперь, когда мы можем написать, как и выше определения типов, то в чем смысл того, чтобы позволить этому синтаксис:
int typedef crazy_int; //crazy : uncommon and unfamiliar syntax.
Просто запутать программист? Является ли этот синтаксис даже необходимым (когда на самом деле у нас есть предыдущий)? Как вы думаете, с точки зрения компиляторов? Они находят это симпатичным или сумасшедшим? Или это вообще не имеет значения для компиляторов?
Кстати, этот код пришел отсюда: Use of typename keyword with typedef and new
В случае, если вам интересно, если это ошибка синтаксиса, а затем проверить the working code here на ideone.
C++/C были в значительной степени предназначены для смущения программистов. Это была четкая цель дизайна, чтобы максимально усложнить выражения, которые вы можете написать, - вы можете написать невероятно сложный код множеством разных способов - недостатком является то, что вы можете писать невероятно сложный код множеством разных способов. –
@James, если вы хотите увидеть язык, который максимизирует сложность выражений, вы должны изучить perl. – SoapBox
Я честно не думаю, что у компиляторов есть понятие мило или сумасшедший ... это мир GIGO. – BoltClock