Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
YoungAlchemist
0 / 0 / 0
Регистрация: 03.09.2012
Сообщений: 4
#1

Возврат итератора из функции - C++

12.05.2013, 00:27. Просмотров 525. Ответов 4
Метки нет (Все метки)

в чем заключается проблема с возвратом итератора и как ее исправить? заранее спасибо за ответ =)

(ожидаемый от программы ответ "Yes", но получаю "No")
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
vector<string>::iterator f(vector<string> str)
{
    return str.end();
}
 
int main()
{
    vector<string> str;
    int n;
    cin>>n;
    string x;
 
    for(int i=0;i<n;i++)
    {
        cin>>x;
        str.push_back(x);
    }
 
    if (f(str)==str.end()) cout<<"Yes"; else cout<<"No";
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 00:27     Возврат итератора из функции
Посмотрите здесь:

Возврат структуры из функции C++
C++ Возврат ссылки из функции
Возврат массива из функции C++
Возврат значения из функции C++
C++ Возврат массива из функции
C++ Неверный возврат из функции
C++ Возврат массива из функции
Возврат 2 значений из функции с одним вызовом этой же функции C++
Определить функции итератора, вне класса C++
Возврат boost::any из функции C++
Как определить тип возвращаемого значения шаблонной функции по типу итератора (не auto)? C++
C++ Возврат строки из функции

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
daslex
1270 / 515 / 106
Регистрация: 02.08.2011
Сообщений: 2,650
12.05.2013, 02:32     Возврат итератора из функции #2
C++
1
vector<string>::iterator f(vector<string> &str)
YoungAlchemist
0 / 0 / 0
Регистрация: 03.09.2012
Сообщений: 4
12.05.2013, 10:52  [ТС]     Возврат итератора из функции #3
Большое спасибо, то есть в моем случае я передавал указатель на конец копии вектора,а в исправленном коде возвращается указатель на конец самого вектора? так да?
daslex
1270 / 515 / 106
Регистрация: 02.08.2011
Сообщений: 2,650
12.05.2013, 11:17     Возврат итератора из функции #4
Да.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
void func(int a)
{
    std::cout<<&a<<"\n"; 
};
 
 
int main()
{
   int a=0;
 
   std::cout<<&a<<"\n"; //Адрес передаваемого элемента
   func(a); //не равен адресу создаваемой копиии
 
   std::cin.get();
}
Копия объекта = другой объект. Разные объекты - разные итераторы начала и конца.
YoungAlchemist
0 / 0 / 0
Регистрация: 03.09.2012
Сообщений: 4
12.05.2013, 12:02  [ТС]     Возврат итератора из функции #5
Большое спасибо, проблема и вправду оказалось пустяковая, прошу прощения за беспокойство.Но теперь понятно почему даже google не помог в этом вопросе.
Yandex
Объявления
12.05.2013, 12:02     Возврат итератора из функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru