和有什么区别 关键词 和一个 保留字?

例如,在 C++ 概念提案 人们可以阅读以下声明:

该提案引入了五个新关键字:概念、概念图、哪里、公理和延迟检查。所有这些关键字也将是保留的单词。

有帮助吗?

解决方案

关键词 在语言中具有特殊含义,并且是语法的一部分。

保留字 是不能用作标识符(变量、函数等)的单词,因为它们是语言保留的。

实际上,大多数关键字都是保留字,反之亦然。但由于它们是两个不同的事物,因此可能会出现关键字不是保留字的情况(例如关键字仅在特殊上下文中有意义,因此可以用作标识符),或者保留字不是关键字(例如因为它是保留供将来使用的)。

更新:其他人给出的一些例子可以说明这种区别:

  • 在爪哇, goto 是一个保留字但是 不是 关键字(因此,您根本无法使用它)
  • Fortran 有 保留字,所有关键字(if、then等)都可以用作标识符

其他提示

只是为了显示的区别是非常有意义的:

并非所有语言是保留字的所有关键字。在Fortran中有可能做到这一点:

if if then then else else

在这种情况下,关键字不保留,但是根据上下文可以由编译器作为变量来解释。

这种区别的一个很好的例子是“GOTO”在Java中。这不是一种语言的关键字(即,它不是有效的Java),但它的保留字。

看来,Java的设计者都在告诉我们:“我们不打算使用‘转到’,也不是你。”

维基说,这种“关键字是特别是只在某些情况下却是一个保留字是一个特殊的字不能被用作用户定义的名称的词。”

http://en.wikipedia.org/wiki/Reserved_word#Reserved_word_vs._keyword

我猜关键字是作为“关键词”一词(例如,如果,因为,开关等),同时保留字是你不能作为变量名使用,因为它有可能成为未来版本的关键字的语言。

  • 关键词:它有一定的意义,我们可以在程序中使用。
  • 保留字:我们不能在程序中使用。它们将来可能会被使用。例子: goto

真的这将取决于上下文很多。例如,ISO C ++标准说,像“如果”,“虽然”,“诠释”等都是关键字,然后实际上并不使用术语保留字,只有一次,在一个脚注,其中别的东西大概意思是: - )

在标准能源部指定的保留名称 - 例如,以下划线和大写字母开头的所有名称是保留名称

关键词:关键词有一些特殊的功能给编译器。所以关键字不能在编码作为标识符。 保留字:保留字是被留作将来使用的话。在Java中,常量和GOTO是未当前使用和将来可能被带回的java的保留字。 如果我们在这里检查Java语言关键词( https://docs.oracle.com /javase/tutorial/java/nutsandbolts/_keywords.html ),它说,爪哇(最新我猜)有50个关键字,包括GOTO和常量。所以转到和const是被保留的关键字。

保留字和关键字大多相同,并且它们已经预先定义在GW-BASIC含义...这些都预先定义的用途和不能使用或用于基本任何其他目的重新定义。关键字不能用作变量名。一些基本的关键词是... IFTHENWHILE等。

<强>关键字下, - 在一个特定的具有特殊含义的字上下文。   它的语义的定义。

<强>保留字是用于不能被用作标识符字 -   如,变量和函数名。它的语法的定义。

E.g.In Java中,所有的关键字是保留字。也许不是相反。   GOTO是保留字,但不使用,无功能。

在较旧的语言,如FORTRAN有关键字但没有保留字。

然而,关键字和保留字可以互换使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top