|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
||||||
Вызов конструктора для this в констукторе копирования03.09.2011, 09:30. Показов 5455. Ответов 41
Метки нет (Все метки)
Мое почтение, уважаемые!
Подскажите, пожалуйста, как вызвать конструктор для this в констукторе копирования:
0
|
||||||
| 03.09.2011, 09:30 | |
|
Ответы с готовыми решениями:
41
Неявный вызов конструктора копирования Вызов конструктора копирования, сохранение данных
|
|
Заблокирован
|
||
| 03.09.2011, 21:18 | ||
|
А ежели следовать вашей логике, то перед использованием List(), нужно также запускать Lisn(), чтобы, как вы пишите, "убрать мусор". И так будет до бесконечности!
0
|
||
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
|
| 03.09.2011, 21:39 [ТС] | |
|
Но если я повторяю обнуление полей в конструкторе копирования, зачем мне переписывать код из базового конструктора, если можно просто использовать сам базовый конструктор? Никакой бесконечности я тут не вижу. В конструкторе копирования создается новый объект, вполне логично для его инициализации использовать базовый конструктор, а уже потом делать копирование.
0
|
|
|
Заблокирован
|
||
| 03.09.2011, 21:43 | ||
|
Конструктор копиронвания потому и называется конструктором копирования, что он должен из одного обхекта копировать данные в другой объект. Так что смысла в вашем вызове конструктора List() никакого нет!
0
|
||
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
|
| 03.09.2011, 21:49 [ТС] | |
|
Базовый конструктор - это обычный конструктор (не копирования).
Мой метод вставки элементов в объект не работает с неинициализированным объектом, а я его применяю в конструкторе копирования. Поэтому приходится вызывать конструктор в конструкторе копирования.
0
|
|
|
Заблокирован
|
||
| 03.09.2011, 21:55 | ||
|
0
|
||
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
||||||
| 03.09.2011, 23:04 [ТС] | ||||||
|
Я делаю следующим образом:
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 03.09.2011, 23:30 | |
|
Trydorg, приведите код конструктора по умолчанию и список полей.
0
|
|
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
|||||||||||
| 03.09.2011, 23:47 [ТС] | |||||||||||
|
CyBOSSeR, прошу.
Поля:
0
|
|||||||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 04.09.2011, 00:04 | ||||||
|
Trydorg, не стоит использовать inplace new для вызова контруктора копирования, это точно никто не оценит. Лучше просто проинициализируйте нулем указатели в списке ининциализации:
0
|
||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 04.09.2011, 07:48 | |
|
Метод InsertBack создаёт копии узлов или просто вставляет заданный указатель?
0
|
|
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
|||||||||||
| 04.09.2011, 08:55 [ТС] | |||||||||||
|
Deviaphan, создает новый элемент списка с конца:
0
|
|||||||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 04.09.2011, 18:00 | ||
|
0
|
||
|
Заблокирован
|
|
| 04.09.2011, 18:06 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
||||||
| 04.09.2011, 18:57 [ТС] | ||||||
|
LosAngeles, спасибо. Оптимизировал перегрузку = до:
CyBOSSeR, нигде не видел. Частично сам дошел, частично здесь умные люди подсказали. А что не так? Нам преподаватель говорит, что нужно стремиться к минимизации повторений кусков кода, заключать повторения в методы и максимально упрощать реализации.
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||
| 04.09.2011, 19:01 | |||
|
0
|
|||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 04.09.2011, 20:03 | ||
|
Оператор присваивания не может (не должен) возвращать void. В данном случае следует возвращать List<Data>&.
0
|
||
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
||||||
| 07.09.2011, 23:35 [ТС] | ||||||
|
Спасибо за дельные советы, господа!
Переделал согласно вашим рекомендациям.
0
|
||||||
|
Заблокирован
|
|
| 08.09.2011, 04:26 | |
|
с точки зрения работоспобности может и верно, а вот логики - не очень. Зачем проводить инициализацию при деинициализации?
0
|
|
|
1 / 1 / 1
Регистрация: 23.03.2011
Сообщений: 25
|
|
| 08.09.2011, 08:43 [ТС] | |
|
LosAngeles, а если вы после вызова деструктора решите начать все сначала с этим объектом? Без инициалиации в деструкторе мы получаем дыру, как по-мне.
0
|
|
|
Заблокирован
|
||||
| 08.09.2011, 09:05 | ||||
|
Добавлено через 2 минуты наверно должно быть так, иначе такие записи прокатят if ( firstList + secondList = thirdList ) Добавлено через 1 минуту
0
|
||||
| 08.09.2011, 09:05 | |
|
Реализация конструктора копирования для класса
Реализация конструктора копирования для двумерного динамического массива Вызов конструктора из конструктора и проверка правильности передаваемых параметров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|