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 回答