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

Когда необходимы определения членов-перемещения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить из матрицы нулевые строки и столбцы и найти строку, содержащую хотя бы один положительный элемент http://www.cyberforum.ru/cpp-beginners/thread1792902.html
Дали три задачи на зачетную. С массивами у меня более менее нормально, но вот сами задания, что от меня требуется - понять не могу. Может кто решал что-то подобное или понимает, что здесь нужно...
C++ Привести систему уравнений к треугольному виду и найти количество строк, среднее арифметическое элементов Дали три задачи на зачетную. С массивами у меня более менее нормально, но вот сами задания, что от меня требуется - понять не могу. Может кто решал что-то подобное или понимает, что здесь нужно... http://www.cyberforum.ru/cpp-beginners/thread1792901.html
C++ Переставить местами правую и левую часть массива
Дан массив M, размерность задать в программе с помощью именованной константы. Указать элемент-границу (ввести номер с клавиатуры). Переставить местами правую и левую часть массива. Найти положение...
C++ Отсутствует оператор "==", соответствующий этим операндам
Не понимаю в чем проблема, уже все библиотеки, что знаю подключила. Вообще код адекватный? #include "stdafx.h" #include<iostream> #include "locale.h" #include <string> #include <vector>...
C++ Как сделать один универсальный класс-контейнер а-ля std::tuple из двух различных классов? http://www.cyberforum.ru/cpp-beginners/thread1792795.html
Добрый день. Есть работающий код: #include <iostream> #include <map> enum Index { First, Second, Third
C++ Почему последнее введенное число записывается два раза? Почему последнее введенное число записывается два раза? #include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream> void readFile(const char*); void writeFile(const... подробнее

Показать сообщение отдельно
notAll
430 / 152 / 36
Регистрация: 27.05.2016
Сообщений: 408
Завершенные тесты: 2
12.08.2016, 11:12
В этом примере перемещение будет сгенерировано компилятором

Добавлено через 31 минуту
Я думаю, руководствоваться надо так:
1) если переменные члены нашего класса могут быть скопированы или перемещены по умолчанию, то, в большинстве случаев, можно положиться на генерируемые компилятором операции копирования и перемещения по умолчанию
2) но, если мы по каким то причинам пишем ф-ции копирования, то в этом случае ф-ции перемещения надо будет, как правило, тоже писать (или возможно определить их с пометкой default). Иначе компилятор их генерировать не будет.

3) Еще не надо забывать помечать ф-ции перемещения спецификатором noexcept если эти ф-ции действительно не могут кидать исключений. Такая пометка заставит стандартные контейнеры наподоби std::vector перемещать объекты (например при ресайсинге), а не копировать. Это еще одна из причин писать ф-ции перемещения для своих классов.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.