Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607

Хочу вспомнить, в чем подвох с конструктором перемещения const D&&

06.08.2021, 20:43. Показов 1942. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс:


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
27
28
class D
{
public:
    D() : x(3)
    {
        std::cout<<"D()"<<std::endl;
    }
    D(const D& a)
    {
        std::cout<<"D(const D&) start ---";
        x = a.x;
        std::cout<<" end:"<< x <<std::endl;
    }
    //D& operator = (const D&) = delete;
    D(const D&& a) noexcept
    {
        //const auto ca = a;
        std::cout<<"D(const D&&) start ---";
        x = a.x;
        std::cout<<" end:"<< x <<std::endl;
    }
    D& operator = (D&&)
    {
        std::cout<<"=D(D&&)"<<std::endl; return *this;
    }
    ~D() { std::cout<<"~D()"<<std::endl; }
    int x = 6;
};
Его отличие в особенном конструкторе перемещения., который имеет мало смысла, но не могу вспомнить из-за чего это может стать источником больших проблем. Каких именно проблем тоже помню плохо. Вроде там вместо копирования идет перемещение или наоборот, но какой то большой баг.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.08.2021, 20:43
Ответы с готовыми решениями:

query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так?
упростил для краткости запрос. в чем ошибка? RecSet - это коннекшн. query='SELECT * FROM resume WHERE ' &amp; ''' &amp;...

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration?
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...

error '80020009' &Icirc;&oslash;&egrave;&aacute;&ecirc;&agrave;. /lalala/profile.asp, line 28
При простейшем и сто раз работавшем скрипте, вылетает ошибка! след. содержания error '80020009' ...

24
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
07.08.2021, 08:16  [ТС]
Студворк — интернет-сервис помощи студентам
TheCalligrapher, Правило может и естественное, а опечатка с const в конструкторе перемещения класса E была реальной и в результате для объекта класса E вызывался конструктор перемещения, а для объекта класса D конструктор копирования. Т.е. крест на крест получалось.

Добавлено через 9 минут
т.е. нарушался ход распространения ход перемещения на субобъект класса D.
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
07.08.2021, 08:49
Цитата Сообщение от squareroot Посмотреть сообщение
Правило может и естественное, а опечатка с const в конструкторе перемещения класса E была реальной
С таким же успехом можно где-то написать char вместо int и получить ошибку.
Так давайте же выпьем за то, чтобы такие "подвохи" и "большие баги" никогда не случались.
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
07.08.2021, 09:09  [ТС]
Croessmah, Вы утрируете.
Код где есть перегрузки пишется весьма редко и потому ошибки в них случаются редко, а вот ошибка с перегрузкой конструктора вообще в моей практике случилась однажды.

Добавлено через 2 минуты
Я раньше и подумать не мог что такого рода ошибка вообще возможна.
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
07.08.2021, 12:45
Цитата Сообщение от squareroot Посмотреть сообщение
Вы утрируете.
Ни разу. Вот недавно только правил багу в подобном коде:

C++
1
2
int n = ...;
int d = n / 10;
В чем здесь может быть подвох и большой баг?
Ну правильно, тип должен быть double, а не int.
Так что ж теперь это какой-то страшный подвох и ужасная бага?
Нет, просто человек совершил ошибку. Никакого подвоха не было.
В вашей ситуации так же - простая ошибка, которую видно.
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
07.08.2021, 13:52  [ТС]
Croessmah, Я не раз сталкивался с ошибкой типа при арифметических операциях и Вы я уверен тоже. Давайте что нибудь более экзотическое.
Тем более кое где это не баг а фича. Везде нужен разный эффект от деления.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.08.2021, 13:52

Помогите найти драйвера для pci\ven_8086&DEV_266E&SUBSYS_A002145&REV_05\3&13C0B0C5&0&F2
pci\ven_8086&amp;DEV_266E&amp;SUBSYS_A002145&amp;REV_05\3&amp;13C0B0C5&amp;0&amp;F2 Мультимедиа аудиоконтроллер помогите плз найти...

Мультимедиа контролер PCI\VEN_14F1&DEV_8800&SUBSYS_EA3D14F1&REV_05\4&25700A26&0&3020
Помогите пожалуйста найти драйвер на мультимедиа видеоконтролер ...

немогу найти драйвера на PCI\VEN_1039&DEV_7012&SUBSYS_810D1043&REV_A0\3&61AAA01&0&17
Мультимедиа аудиоконтроллер PCI\VEN_1039&amp;DEV_7012&amp;SUBSYS_810D1043&amp;REV_A0\3&amp;61AAA01&amp;0&amp;17

Нужен драйвера, код PCI\VEN_1039&DEV_7012&SUBSYS_0C98105B&REV_A0\3&B1BFB68&0&17
всем привет !! уменя нет звука нужен драйвер код PCI\VEN_1039&amp;DEV_7012&amp;SUBSYS_0C98105B&amp;REV_A0\3&amp;B1BFB68&amp;0&amp;17 скачал прогу их много ...

Драйвера на PCI\VEN_10B7&DEV_1700&SUBSYS_80EB1043&REV_12\4&2E98101C&0&28 F0
помогите плиз - вот ID: PCI\VEN_10B7&amp;DEV_1700&amp;SUBSYS_80EB1043&amp;REV_12\4&amp;2E98101C&amp;0&amp;28F0 Заранее...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru