170 похожих чатов

Какой самый чистый и правильный способ задушить этот ворнинг? class 'MyClass'

defines a non-default destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions]

Мне не улыбается каждый special member прописывать ручками = delete, есть же таблица, по которой они сами правильно отваливаются (т. е. не генерятся компилятором), зачем заставлять меня делать дурную работу.

7 ответов

14 просмотров
Alex- Автор вопроса

Вот мы обсуждали правила определения special member functions, и ворнинг Clang-Tidy, который насаждает эти правила. Я пытаюсь следовать, но иногда попадаются ситуации, когда не определять special member - это единственно правильное поведение, а clang ругается. Класс (итератор) со ссылкой внутри, поэтому у него implicitly deleted move assignment. Если не определять его - то всё ОК, вызывается копирование. Определить = default нельзя (другой ворнинг), а определить = delete- код перестает компилиться.

Alex
Вот мы обсуждали правила определения special membe...

А почему тебе в итераторе вообще нужны специальные члены?

Alex- Автор вопроса
disba1ancer
Да, и почему delete всё ломает?

потому присваивание из rvalue тогда не компилится

Но ведь для него и оператор копирования подходит, может быть у тебя получается так что оператор перемещения удалён, а оператор копирования не определён?

Alex- Автор вопроса

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
49
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Подскажите, есть какие-то события создания/уничтожения у TFrame по типу TForm (OnCreate и OnClose/OnDestroy) ? Как отловить создание TFrame и "перед" уничтожением. На Tframe р...
Денис
8
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
а чем хуже?
Alexey Kulakov
10
Карта сайта