53

キーワード予約語の違いは何ですか?

たとえば、C++ での概念の提案では、次のステートメントを読むことができます。

この提案では、concept、concept map、where、axiom、late check の 5 つの新しいキーワードが導入されています。これらのキーワードもすべて予約語になります。

4

10 に答える 10

61

キーワードは言語で特別な意味を持ち、構文の一部です。

予約語は、言語によって予約されているため、識別子 (変数、関数など) として使用できない単語です。

実際には、ほとんどのキーワードは予約語であり、その逆もあります。しかし、これらは 2 つの異なるものであるため、キーワードが予約語ではない (たとえば、キーワードは特別なコンテキストでのみ意味を持ち、したがって識別子として使用できる) か、予約語がキーワードではない (たとえば、将来の使用のために予約されているためです)。

更新:区別を説明する他の人が与えたいくつかの例:

  • Java ではgoto、予約語ですが、キーワードではありません(結果として、まったく使用できません)。
  • Fortran には予約語がなく、すべてのキーワード (if、then など) を識別子として使用できます。
于 2009-07-03T11:22:22.917 に答える
18

区別が非常に意味があることを示すために:

すべての言語ですべてのキーワードが予約語というわけではありません。Fortran では、次のことが可能です。

if if then then else else

この場合、キーワードは予約されていませんが、コンテキストによっては、コンパイラによって変数として解釈される場合があります。

于 2009-07-03T11:30:43.927 に答える
10

この区別の良い例は、Java の「goto」です。これは言語キーワードではありません (つまり、有効な Java ではありません)、予約語です。

Java 設計者は、「私たちは 'goto' を使用するつもりはありません。あなたもそうです」と言っているようです。

于 2009-07-03T11:25:56.293 に答える
5

Wiki は、「キーワードは特定のコンテキストでのみ特別な単語ですが、予約語はユーザー定義名として使用できない特別な単語です」と述べています。

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

于 2009-07-03T11:20:31.143 に答える
1

キーワードは「キーワード」として使用される単語 (if、for、switch など) であると思いますが、予約語は、将来のバージョンの言語でキーワードになる可能性があるため、変数名として使用できないものです。

于 2009-07-03T11:20:07.773 に答える
1
  • キーワード: 意味があり、プログラムで使用できます。
  • 予約語: プログラムでは使用できません。それらは将来使用される可能性があります。例:goto
于 2010-10-10T13:16:45.503 に答える
0

実際には、文脈に大きく依存します。たとえば、ISO C++ 標準では、「if」、「while」、「int」などはキーワードであり、実際には予約語という用語を使用していません。意味 :-)

標準では予約名が指定されています。たとえば、アンダースコアと大文字で始まるすべての名前は予約名です。

于 2009-07-03T11:25:43.657 に答える
-1

予約語とキーワードはほとんど同じであり、事前に定義された意味を持っていGW-BASICます...これらには事前に定義された用途があり、Basic で他の目的に使用または再定義することはできません。キーワードは変数名として使用できません。Basic のキーワードには、... 、IFなどがあります。THENWHILE

于 2012-01-07T06:52:06.453 に答える