0

私は scintilla の字句解析機能を使用していますが、少し独創的なことをしたいと思っています。

私は他の言語で少し経験がありますが、初心者の C++ コーダーであることを覚えておいてください。

後で使用するために回線に関する特定の情報を保存する方法についての指針を探しています。頭に浮かんだ最初のアイデアは、配列を作成し、対応する配列フィールドに行番号を入力することです。次に例を示します。

int lineOpt[];

...

lineOpt[20] = 20;
lineOpt[21] = 20;
lineOpt[372]= 75;

...

しかし、ここで何かがうまくいかないようです。作成したばかりの「無制限」サイズの配列のためだけでなく、「ギャップ」が存在するため、これが正しい方法であるかどうかはわかりません。

これらのオプションが設定されているのは、いくつかの特定の行だけです (そこに存在するテキストによって異なります)。

いくつかの記事へのヘルプまたはポインタをいただければ幸いです。

4

1 に答える 1

2

配列ではなく、連想コンテナ構造が必要なようです。配列は常にコンパイル時に設定される固定長です。実行時にサイズを変更することはできません。あなたの宣言int lineOpt[]は合法ではありません。

std::map<unsigned int, unsigned int>またはを検討してくださいstd::unordered_map<unsigned int, unsigned int>

于 2012-12-15T22:30:19.653 に答える