Я предполагаю, что если я получил, например:
vector<string> myVector;
myVector.push_back("Camel");
myVector.push_back("is");
myVector.push_back("a");
myVector.push_back("noble");
myVector.push_back("animal");
И я делаю:
for (string val : myVector){
val = "empty";
}
Он не заменяет значение в векторе, так как он скопировал содержимое вновая строка
Я предполагаю, что могу сделать
for (int i=0; i<myVector.size(); i++) {
myVector[i] = "empty";
}
Это будет выполнять поведение.
Но хорошо.Мой вопрос:
Существует любая другая структура, подобная первому случаю, где я могу сказать «Выберите ссылку на значение в векторе вместо того, чтобы копировать значение в новую переменную», тогда я могу напрямую повлиять на векторвместо значений и имеющей модель ввода for (class value : vector)
?
Или передовые практики для примера без использования ни одного из упомянутых случаев?Итератор?