【发布时间】:2011-05-24 07:06:09
【问题描述】:
老熟人:
typedef int cute_int; //cute : common and familiar syntax.
这个语法很完美。没问题。
现在,当我们可以像上面那样编写 typedef 时,那么允许这种语法的意义何在:
int typedef crazy_int; //crazy : uncommon and unfamiliar syntax.
只是为了迷惑程序员?这种语法是否在任何地方都需要(实际上我们已经使用了前一种)?从编译器的角度你怎么看?他们觉得它可爱还是疯狂?还是对编译器根本不重要?
顺便说一句,这段代码来自这里: Use of typename keyword with typedef and new
如果您想知道这是否是语法错误,请查看 ideone 的 the working code here。
【问题讨论】:
-
C++/C 几乎是为了迷惑程序员而设计的。一个明确的设计目标是最大限度地提高您可以编写的表达式的复杂性 - 好处是您可以以不同的方式编写极其复杂的代码 - 缺点是您可以以不同的方式编写极其复杂的代码。
-
@James 如果你想看到一种能够最大限度地提高表达式复杂性的语言,你应该学习 perl。
-
老实说,我不认为编译器有任何可爱或疯狂的概念......这是一个 GIGO 世界。
-
我认为你只是习惯于使用“可爱”而不是“疯狂”的。
typedef不是sizeof之类的运算符,但似乎被视为修饰符,例如const或volatile。 -
@BoltClock : GIGO 这个词听起来很有趣!
标签: c++ typedef standards-compliance iso user-defined-types