crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в С++, оператор присваивания, каково должно быть поведение
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Влад Дата 16.4.2010, 18:53
  Юрий, еще порекомендовал бы Джеффа Элджера "C++ библиотека программиста" и Херба Саттера "Решение сложных задач на C++" и "Новые сложные задачи на C++" - там конструирование и копирование объектов описано довольно подробно, в том числе с точки зрения безопасности и корректности состояния программы в целом.
(Книги есть в электронном виде, гуглятся.)
BRE Дата 16.4.2010, 12:04
 
Цитата(Litkevich Yuriy @ 16.4.2010, 13:02) *
другими словами, его поведение должно повторять Конструктор копирования

Да.
Litkevich Yuriy Дата 16.4.2010, 12:02
  другими словами, его поведение должно повторять Конструктор копирования
BRE Дата 16.4.2010, 11:57
 
Цитата(Litkevich Yuriy @ 16.4.2010, 12:45) *
Вроде название оператора предполагает однозначную трактовку поведения, но я повис.

Он должен сделать самостоятельную копию.
Litkevich Yuriy Дата 16.4.2010, 11:45
  Тут пришлось впервые делать полноценный самописанный класс. По сути это буфер со специфической функциональностью.
И понадобилось реализовать такие вещи как Конструктор копирования и оператор присваивания.

Первый я сделал, а вот на операторе присваивания я застрял.
YBuffer1 &operator=(const YBuffer1 &other);

Как он должен себя вести? У меня в классе создаётся динамический объект. И текущий экземпляр (this), должен просто пользоваться чужим (other) динамическим объектом или нет.

Вроде название оператора предполагает однозначную трактовку поведения, но я повис.

Помогите понять.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 24.4.2024, 16:47