Сцинтилла лексер, помогите. Попытка сохранить конкретную информацию о строке для последующего использования

Я использую лексические возможности сцинтиллы и хочу сделать что-то нестандартное.

Пожалуйста, учтите, что, хотя у меня есть небольшой опыт работы с другими языками, я начинающий программист C ++.

Я ищу указатели о том, как сохранить конкретную информацию о строке для последующего использования.
Первая идея, которая пришла в голову, это создать массив и заполнить соответствующее поле массива для нашего номера строки, например:

int lineOpt[];

...

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

...

Но что-то здесь не так. Я не уверен, что это правильный путь не только из-за массива «неограниченного» размера, который я только что создал, но также и из-за «пробелов», которые будут присутствовать.

Эти параметры будут установлены только в нескольких конкретных строках (в зависимости от присутствующего в них текста), и снова у меня возникает ощущение, что это можно сделать по-другому.

Любая помощь или указатели на некоторые статьи будут оценены.

0

Решение

Похоже, вам нужна ассоциативная структура контейнера, а не массив. Массивы всегда имеют фиксированную длину, установленную во время компиляции; Вы не можете изменить их размер во время выполнения. Ваша декларация int lineOpt[] не законно

Рассматривать std::map<unsigned int, unsigned int> или же std::unordered_map<unsigned int, unsigned int>,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]