Non-copy-assignable classes
От: rg45 СССР  
Дата: 04.11.13 09:10
Оценка:
Привет всем,

Есть небольшой вопрос касательно дизайна классов. Не бывает у вас так, что вам что-то очень не нравится, но обосновать, почему это плохо, как-то не очень получается? Мне вот очень не нравится видеть члены-ссылки, а также константные члены в классах, для которых копирование не запрещено полностью. Копии объектов таких классов могут быть созданы посредством конструктора копирования, но копирование через присваивание недоступно (если отбросить какие-то специальные случаи). Вот эта половинчатость, собственно, и напрягает. Я понимаю, когда копирование класса запрещено полностью — это случаи, когда создание копии объекта невозможно в принципе. А вот ситуация, когда создание копий разрешено, но только новых объектов (через конструктор копирования), а перезапись существующих запрещена, с моей точки зрения выглядит как какая-то кривая семантика. Решение о том, можно ли перезаписывать существующий объект или нельзя, с моей точки, должно приниматься кодом, владеющий объектом, а не быть "прошито" в самом классе. Что думаете по этому поводу? Буду рад любым аргументам, которые либо укрепят меня во мнении, либо, наоборот, переубедят. Спасибо.
--
Не можешь достичь желаемого — пожелай достигнутого.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.