Gayle123 Ответов: 2

Векторный запрос c++ сомнение


у меня есть вектор, который имеет значение 10( я.электронный идентификатор) у меня есть еще один вектор, который имеет некоторые строки ..

я должен найти строковое значение, основанное на id = 10.


когда идентификатор равен 10, я должен получить вектор формы строкового значения.


как это сделать. пожалуйста, дайте мне знать.

нет: id-это не Индекс

я попробовал, я получил значение, но я хочу с итератором....

Что я уже пробовал:

for (int i(0),n(foundRowIndices3.size()); i < n; i++)
{
  if (foundRowIndices3.at(i) == nValue)
  {
	CString str = sDescription.at(i);
   }
				
}

[no name]

Ваш фактический код-это лучший способ объяснить вашу проблему.

2 Ответов

Рейтинг:
2

Richard MacCutchan

Почему бы не использовать другой тип коллекции, например класс карты[^], который удерживает значение и строку вместе.


Рейтинг:
1

Patrice T

Совет: вернитесь к основам C/C++.
Язык программирования Си - Википедия, свободная энциклопедия[^]
https://hassanolity.files.wordpress.com/2013/11/the_c_programming_language_2.pdf[^]
http://www.ime.usp.br/~ПФ/Керниган-Ритчи/с-Программирование-электронные книги.формат PDF[^]

Вы не освоите самый простой синтаксис цикла.

Похоже, им удалось изобрести еще более странный синтаксис.
Так i=0 это было слишком просто, и им удалось запутаться, используя синтаксис вызова функции i(0) сделать то же самое ?
На этот раз они меня поймали.


Philippe Mori

Нет ничего плохого в синтаксисе цикла, по крайней мере, в C++ 11 (или 14, или 17 ?). Этот код компилируется без проблем с Visual Studio 2015 Update 2.

На самом деле, теперь вы даже можете использовать { } как в :
for (unsigned int i{ 0 }, n{ foundRowIndices3.size() }; i < n; i++) В этом случае мне нужно изменить тип на unsigned int чтобы избежать ошибки сужения преобразования.

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

Patrice T

Добрый день,
Так i=0 было слишком ясно, и им удалось запутаться, используя синтаксис вызова функции i(0) сделать то же самое ?
На этот раз они меня поймали.

Philippe Mori

Это первый раз, когда я увидел синтаксис вызова конструктора, используемый в операторе инициализации цикла for...

Таким образом, существует 3 синтаксиса, которые обычно эквивалентны на практике, но каждый из них имеет свои собственные тонкости или ограничения. Например, объявление с использованием = не будет компилироваться, если нет открытого конструктора копирования.