我认为C ++中有保留关键字,为什么它们被称为“保留关键字”并被归类为不同?
答案 0 :(得分:5)
语言(if
,for
,while
,struct
等)使用的词语有时也称为保留词或关键词。我怀疑很多人也称他们为保留关键字。
但是,委员会可能还希望在将来使用,但目前尚未使用。我会考虑这些保留的关键字。在Java中goto
是一个当前未使用的保留字(虽然我相信这个想法是不会被使用)。这种保留关键字不允许作为变量名称,函数名称,class
,struct
或enum
名称等等。但是在今天的语言中没有任何用处,它就不会真的可以在有效的C ++中使用。
答案 1 :(得分:2)
保留字或关键字是具有该语言特殊含义的预定义字词:
http://en.wikipedia.org/wiki/Reserved_word
http://en.wikipedia.org/wiki/Keyword_(computer_programming)
答案 2 :(得分:1)
关键字是在语言的语法中使用的“if”或“while”之类的名称。如果保留它们,则不能将它们用作标识符。如果它们不是保留的(上下文关键字),它们可以用作标识符,它们仅用作特定上下文中的关键字(标识符不能出现,或者如果可以,则有一些规则)它优先考虑标识符或关键字功能)。 C ++ 0X可能会有上下文关键字。以(ab)使用上下文关键字而闻名的语言是PL / I,您可以在其中编写类似的内容:
IF IF THEN THEN = ELSE; ELSE ELSE = THEN;
(显然,理智的方法是考虑保留的上下文关键字;实用程序是上下文关键字有助于迁移。)
答案 3 :(得分:0)
让我们以C ++保留关键字故事结束: 当我刚开始学习C ++时,我的老师就是最糟糕的。
他的任务之一是写一本“电话簿”。 我们给出的设计非常简单,
你有一个电话簿课程,它存储了一系列名为:friend的课程。 回到我学习C ++的日子我们没有上网。
因此,我们有一半人有编译问题而另一半则没有。我们的老师只是耸耸肩说:“没问题,有一半你失败了”。花了我们时间才意识到,编译问题的一半是朋友单词在IDE中的颜色不同的一半,与struct \ enum \ class关键字的颜色相同。 另一半称他们的朋友(资本F)。