- 1
- 2
- 3
- 4
- 5
- 6
- 7
MyType(const CopyPastedFromSomewhere&) = delete;
MyType& operator=(const CopyPastedFromSomewhere&) = delete;
MyType& operator=(const MyType*) = delete;
// Winner?
MyType& MyType(const MyType&) = delete;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
MyType(const CopyPastedFromSomewhere&) = delete;
MyType& operator=(const CopyPastedFromSomewhere&) = delete;
MyType& operator=(const MyType*) = delete;
// Winner?
MyType& MyType(const MyType&) = delete;
А что можно найти в вашей кодовой базе? К слову, выяснилось, что вариант
void operator=(const MyType&) = delete;
вполне себе допустим.
g0_1494089160669 02.03.2018 10:23 # −4
1024-- 02.03.2018 20:00 # 0
minusinho 02.03.2018 20:03 # 0
roman-kashitsyn 02.03.2018 20:05 # 0
Конструктор копирования не может ничего вернуть. Winner удаляет функцию с именем MyType, которую компилятор и так синтезировать не собирался.
3.14159265 02.03.2018 20:30 # 0
>> = delete;
Поясните, что происходит вообще?
К удалению объекта при присваивании и перегрузке delete это отношения не имеет?
bormand 02.03.2018 21:59 # +3
minusinho 02.03.2018 22:03 # 0
Fike 02.03.2018 22:54 # 0
vistefan 02.03.2018 23:56 # +1
syoma 03.03.2018 10:46 # +1
CHayT 03.03.2018 17:48 # 0
syoma 03.03.2018 17:50 # 0
g0_1494034731324 04.03.2018 14:23 # −1
Меня шмонай ты, вертухай,
Да загляни под юбочку,
Да посмотри на булочки.
Понюхай попку носиком,
Прикинься, киса, пёсиком,
Вот в этом вся и разница,
Кто хочет, а кто дразнится.
©Любимая группа мамки админа
SemaReal 02.03.2018 23:46 # 0
CaptainPlastid 03.03.2018 00:23 # 0
3.14159265 03.03.2018 00:21 # 0
У меня мозг сейчас взорвётся.
Неужели у плюсовика сама фраза не вызывает никакого диссонанса?
inho 02.03.2018 23:49 # 0
roman-kashitsyn 02.03.2018 23:55 # 0
> которую компилятор и так синтезировать не собирался.
Кто-то криво отредактировал скопипасченное, должно быть
MyType(const MyType&) = delete;
CaptainPlastid 03.03.2018 00:24 # 0
C++20!
3.14159265 03.03.2018 00:25 # 0
Я и в C89 так могу сделать.
SemaReal 03.03.2018 00:26 # −1