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

Неправильно работает конструктор копирования list, почему? - C++

Восстановить пароль Регистрация
 
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
17.12.2011, 13:53     Неправильно работает конструктор копирования list, почему? #1
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
#include <windows.h>
#include <stdio.h>
#include <list>
#include <iterator>
#include <iostream>
using namespace std;
 
 
list <int> f () {
 list <int> lisc;
 lisc.push_back (23);
 lisc.push_back (61);
 lisc.push_back (99);
 lisc.push_back (12);
 return lisc;
}
 
 
int main () {
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 copy (f().begin(), f().end(), ostream_iterator<int>(std::cout, " "));
 printf ("Г±ГѕГ¤Г* ìû ïðîñòî-Г*Г*ïðîñòî Г*ГҐ ïðèõîäèì\n");
 getchar ();
 return 0;
}
Добавлено через 6 минут
компилятор g++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LosAngeles
Заблокирован
17.12.2011, 13:55     Неправильно работает конструктор копирования list, почему? #2
Цитата Сообщение от kravam Посмотреть сообщение
copy (f().begin(), f().end(), ostream_iterator<int>(std::cout, " "));
итераторы от двух разных контейнеров. Копирование от начала одного контейнера до конца другого
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
17.12.2011, 14:19  [ТС]     Неправильно работает конструктор копирования list, почему? #3
Ничего не объясняет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <windows.h>
#include <stdio.h>
#include <list>
#include <iterator>
#include <iostream>
using namespace std;
 
 
 
int main () {
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 list <int> lisc;
 lisc.push_back (23);
 lisc.push_back (61);
 lisc.push_back (99);
 lisc.push_back (12);
 copy (lisc.begin(), lisc.end(), ostream_iterator<int>(std::cout, " "));
 printf ("сюда мы теперь приходим\n");
 getchar ();
 return 0;
}
всё работает без сучка и задоринки
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
17.12.2011, 14:24     Неправильно работает конструктор копирования list, почему? #4
kravam, в первом варианте у тебя при вызове f() каждый раз возвращался новый объект. А тут используется один и тот же (lisc), поэтому все и работает
LosAngeles
Заблокирован
17.12.2011, 14:26     Неправильно работает конструктор копирования list, почему? #5
а с чего бы он не работал? в отличие от первого примера тут всё в порядке
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
17.12.2011, 14:41  [ТС]     Неправильно работает конструктор копирования list, почему? #6
А я понял вот я лажанулся-то.
Yandex
Объявления
17.12.2011, 14:41     Неправильно работает конструктор копирования list, почему?
Ответ Создать тему
Опции темы

Текущее время: 20:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru