Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
#1

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

17.12.2011, 13:53. Просмотров 717. Ответов 5
Метки нет (Все метки)

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++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2011, 13:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Неправильно работает конструктор копирования list, почему? (C++):

Не работает конструктор копирования почему-то... - C++
#include &quot;stdlib.h&quot; #include &quot;stdio.h&quot; #include &lt;iostream&gt; #include &lt;cstddef&gt; using namespace std; class Top { public: ...

Почему не вызывается конструктор копирования? - C++
...У меня в книге описаны случаи при которых вызывается конструктор копирования. Один из этих случаев: : &quot;Когда аргумент имеет тип...

Почему не срабатывает конструктор копирования в пользовательском классе - C++
вроде со всем разобралась, но не заходит в конструктор копирования. В чём ошибка? #include &lt;iostream&gt; #include &quot;welcome.h&quot; ...

Почему встроенная функция вызывает конструктор копирования? - C++
Почему встроенная функция вызывает конструктор копирования или всегда ли встроенная функция действительно встроеннаая? Но всё по порядку....

Конструктор копирования не работает - C++
Прошу вас помочь разобраться с конструктором копирования. Проблема в следующем при вызове конструктора копирование вылетает ошибка не...

Не работает конструктор копирования - C++
Пишу свой класс матрица. В конструкторе копирования вылезла ошибка, решить которую мне не удается. Отладчиком проходился не один раз,...

5
LosAngeles
Заблокирован
17.12.2011, 13:55 #2
Цитата Сообщение от kravam Посмотреть сообщение
copy (f().begin(), f().end(), ostream_iterator<int>(std::cout, " "));
итераторы от двух разных контейнеров. Копирование от начала одного контейнера до конца другого
0
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
17.12.2011, 14:19  [ТС] #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;
}
всё работает без сучка и задоринки
0
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
17.12.2011, 14:24 #4
kravam, в первом варианте у тебя при вызове f() каждый раз возвращался новый объект. А тут используется один и тот же (lisc), поэтому все и работает
1
LosAngeles
Заблокирован
17.12.2011, 14:26 #5
а с чего бы он не работал? в отличие от первого примера тут всё в порядке
1
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
17.12.2011, 14:41  [ТС] #6
А я понял вот я лажанулся-то.
0
17.12.2011, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2011, 14:41
Привет! Вот еще темы с ответами:

Не работает конструктор копирования - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; class my {int x1,x2,y1,y2,col; public: my(int _x1=20, int _y1=5,...

Не работает конструктор копирования - C++
Всем доброго времени суток. Помогите пожалуйста, уже битиый день не могу побороть почему не работает конструктор копирования :cry: ...

Почему не вызывается конструктор копирования при возврате объекта из функции - C++
Добрый день! Насколько мне известно, конструктор копирования вызывается: 1) при передачи объекта как аргумента функции ...

Как работает конструктор копирования? - C++
ECM::ECM(const ECM &amp;E) //êîíñòðóêòîð êîïèðîâàíèÿ { if (E.type) {type= new char ; strcpy(type, E.type);} else type=0; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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