34

Visual Studio の構文の強調表示では、この単語がキーワードまたは予約語であるかのように青く色付けされます。私はそれをオンラインで検索しようとしましたが、「配列」という単語は検索を無効にします。配列とは何かを説明するページがほとんどです。それは何のために使用されますか?

4

7 に答える 7

65

ISO 標準の予約語ではありません。Microsoft のC++/CLI配列cli 名前空間で定義しており、Visual Studio の構文強調表示はそれを予約語として扱います。この使用法はベンダー拡張と見なされ、国際的な C または C++ 標準の一部ではありません。

ISO C99キーワード:

自動列挙型は署名されていません
extern return void をブレーク
ケース フロート ショート 揮発性
signed while の char
const goto sizeof _Bool
static _Complex の場合は続行
デフォルトのインライン構造体 _Imaginary
int スイッチを行う
double long typedef
そうでなければ組合を登録する

ISO C++98 キーワード:

これは二重ではありません
and_eq dynamic_cast not_eq throw
asm else 演算子 true
自動列挙または試行
bitand 明示 or_eq typedef
bitor エクスポート プライベート typeid
bool extern 保護された型名
偽りの公団を壊す
ケース フロート レジスタ 符号なし
を使用して reinterpret_cast のキャッチ
チャーフレンドリターンバーチャル
class goto short void
compl if signed volatile
const inline sizeof wchar_t
const_cast int static while
長い static_cast xor を続行します
デフォルトの可変構造体 xor_eq
名前空間スイッチを削除     
新しいテンプレートを作成する
于 2008-12-16T20:36:24.653 に答える
10

そうではありません。少なくとも標準の C/C++ にはありません。

「エントリ」が、K&R では C の予約語であるのに、C99 では予約語ではない理由をお尋ねになるかもしれません。ある時点でこの機能を追加する可能性があると考えていた人もいましたが、最終的にはやめたのです。

于 2008-12-16T20:33:14.660 に答える
10

C++/CLI で使用されます。

Visual C++ 言語リファレンス:「array キーワードを使用すると、共通言語ランタイム ヒープに割り当てられる動的配列を作成できます。」

于 2008-12-16T21:02:18.250 に答える
2

Visual Studio は、プリティ プリンター用にさまざまな C++ 文法を定義することに煩わされることはありませんでした。ISO C++、VC++、C++/CLI、または単に古い C - すべて同じ文法を共有しています。したがって、array や interface などの名前はすべて、キーワードであるかのように扱われます。

また、プリティ プリンターが foo.cpp で使用されている C++ 方言を見つけるのも非常に困難です。そのためのコードをコンパイルする必要があります。現在、プリティ プリンターはトークンを操作できます。つまり、コードを解析するだけで済みます。

于 2008-12-17T11:07:25.410 に答える
1

どのエディションで?「c++ 予約語」を Google で検索しても、そのような使用法は示されません。

サンプル コードでは、「配列」を日常的に使用しています。

http://cs.smu.ca/~porter/csc/ref/cpp_keywords.html

于 2008-12-16T20:36:34.607 に答える
0

MSVC で単語が強調表示されているという事実は、それが C または C++ のキーワードであることを意味するものではありません。ご覧のとおり、 MSVC には 128 ビットの int 型がないにもかかわらず__int64のような多くの非標準のものも強調表示されます。__int128

于 2014-08-27T05:38:13.053 に答える
0

これは予約語ではありませんが、Microsoft Visual Studio は予約語であるかのように青色でマークすることを決定しましたが、DD Malik による「C++ プログラミング第 5 版」に従っていないことは間違いありません。

于 2013-04-24T15:47:28.697 に答える