|
6 / 6 / 7
Регистрация: 07.08.2016
Сообщений: 44
|
|
В чём отличия конструктора копирования и конструктора перемещения? Где и как их нужно использовать?23.08.2016, 19:39. Показов 8759. Ответов 7
Метки нет (Все метки)
Помогите разобраться в копирующем и перемещающем конструкторах. В чём их существенное отличие и какой плюс от использования перемещающего конструктора.
И ещё, объясните, пожалуйста, вообще смысл использования двух данных конструкторов. Как это помогает в больших программах?
0
|
|
| 23.08.2016, 19:39 | |
|
Ответы с готовыми решениями:
7
Почему при вызове конструктора из конструктора нельзя передавать this как аргумент?
Пример использования конструктора перемещения |
| 23.08.2016, 19:53 | |
|
Ты использовал объекты класса стринг?
Если да, то тогда должен был заметить, что при копировании оба объекта содержат строку, и если удалить один, то это не повлияет на содержимое второго. Одна из возможных реализаций класса стринг состоит в содержании в его объектах указателя на чар. При обычном копировании объекта стринг грубо говоря создается новая скопированная строка А при перемещении копируется только указатель на строку из копируемого объекта стринг в объект получателя. После этого в копируемом объекте указатель на чар зануляется
2
|
|
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
| 23.08.2016, 20:09 | |
|
Копирующий конструктор "копирует состояние объекта", что для больших объектов не эффективно. Перемещающий конструктор (или move семантика) "перемещает объект в тот, у которого вызывается конструктор перемещения", тоесть получается по адресу, что намного эффективнее
0
|
|
| 23.08.2016, 20:32 | |
|
Lexxxxy, для начала, Вы должны понять недостатки, которые были при отсутствии rvalue-reference и "move-семантики".
Врядли простое "используй вот тут и вот так" даст что-то полезное Вам.
1
|
|
|
6 / 6 / 7
Регистрация: 07.08.2016
Сообщений: 44
|
|
| 23.08.2016, 21:19 [ТС] | |
|
HelicopterK52, а можете привести примеры, пожалуйста? Или хотя бы сказать где об этом можно почитать.
0
|
|
| 23.08.2016, 21:32 | |
|
Lexxxxy, у липпмана в книге есть об этом
1
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,568
|
|||||||||||
| 24.08.2016, 11:23 | |||||||||||
Сообщение было отмечено Lexxxxy как решение
Решение
Сам я не сильно в теме, но вот такие есть соображения.
Допустим есть функция:
func() мы бы получали копирование всех данных класса, хотя на самом деле, это копирование нам не нужно, так как по выходе из функции объект obj нам уже не нужен. А при наличии перемещающего конструктора мы экономим время на этом копировании, что для "тяжелых" классов типа нашего оказывается очень эффективно.ПС. Да, этот пример и без перемещения компилятор бы разрулил, скорее всего, но это просто пример.
1
|
|||||||||||
|
6 / 6 / 7
Регистрация: 07.08.2016
Сообщений: 44
|
|
| 24.08.2016, 12:22 [ТС] | |
|
John Prick, понял, спасибо!
0
|
|
| 24.08.2016, 12:22 | |
|
Помогаю со студенческими работами здесь
8
Вызов конструктора из конструктора и проверка правильности передаваемых параметров Реализация конструктора копирования Касательно конструктора копирования По поводу ссылок и конструктора копирования
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|