IDma88
@IDma88
Программист C++

Как вернуть ссылку/указатель на элемент вектора?

Имеем класс (упрощено):
class CUnit
{
public:
    bool FindElement(const string& search, CElement& result);
private:
    vector<CElement> mElements;
};

Функция FindElement имеет примерно такой вид:
bool CUnit::FindElement(const string & search, CElement& result)
{
    vector<CElement>::iterator it;

    for (it = mElements.begin(); it != mElements.end(); it++)
    {
        if ( <тут проверка соответствие критерию> )
        {
            result = *it;
            return true;
        }
    }
    return false;
}

При таком подходе из функции вернётся копия элемента.
А как вернуть ссылку/указатель на элемент вектора с тем, чтобы можно было изменять сам элемент вектора (а не его копию)?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
1.
bool FindElement(const string& search, CElement*& result);

2. CElement* FindElement(const string& search);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 70 000 до 80 000 руб.
от 160 000 до 200 000 руб.
WakeApp Москва
от 70 000 руб.
15 авг. 2018, в 23:38
300 руб./за проект
15 авг. 2018, в 22:39
60000 руб./за проект
15 авг. 2018, в 21:18
30000 руб./за проект