Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 22:30   #11
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Perchik71 Посмотреть сообщение
Bers, напиши книгу в 100 000 экзепляров.... диктуй и читай свои мысли миллионам людей....

Кстати = должно подрузомивать такую стратегию.... ибо объект уничтожается.... ты хоть застрелись... this уже уничтожен.

нужен новый объект..

конструктор копий вызывается либо в операторе = или как фуна...

//-----

ссылка TTipe&
указатель TTipe*

в моём примере ссылка не нужна.. ибо делается новый объект....
в += ссылку нужна... ибо мы изменяем содержимое... A += D += H; в си нельзя писать.. и это безопасно.
Ничего не понял. Выражайтесь яснее.
_Bers вне форума Ответить с цитированием
Старый 12.12.2012, 22:32   #12
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

A + B;


Вопрос: А изменилось? Если да - тогда наружу должна возвращаться ссылка на *this
Если нет - тогда новый объект.
_Bers вне форума Ответить с цитированием
Старый 12.12.2012, 22:38   #13
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
A + B;


Вопрос: А изменилось? Если да - тогда наружу должна возвращаться ссылка на *this
Если нет - тогда новый объект.
тот пост выражать яснее не буду...

а вот A + B

генерируется новый объект с инфой A и прибовляется B. Это операция нужна дабы не изменить A а сохранить её целостность лишь
A += B должна изменить А не создавая новую...
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 12.12.2012, 23:12   #14
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Perchik71 Посмотреть сообщение
тот пост выражать яснее не буду...

а вот A + B

генерируется новый объект с инфой A и прибовляется B. Это операция нужна дабы не изменить A а сохранить её целостность лишь
A += B должна изменить А не создавая новую...
Понял тебя. Ну да, в этом есть своя логика. Причем, на мой взгляд - правильная.

x = a+b;

x получит своё значение, но a и b не изменятся. Все верно.
Я сам редко такие вещи конструирую, мне это не было очевидно. Спасибо.
_Bers вне форума Ответить с цитированием
Старый 12.12.2012, 23:37   #15
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Понял тебя. Ну да, в этом есть своя логика. Причем, на мой взгляд - правильная.

x = a+b;

x получит своё значение, но a и b не изменятся. Все верно.
Я сам редко такие вещи конструирую, мне это не было очевидно. Спасибо.
Осталось это осознать самому уважаемому. который запропастился.
Операторы очень удобная вещь... но тут стоит очень сильно подумать...
А вобще свойства
__declspec(property(get="фуна получения", put="фуна записи")) тип и имя
здорово сокращают интерфейс над объектом. всегда рад помочь.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 12.12.2012, 23:46   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Perchik71 Посмотреть сообщение
Осталось это осознать самому уважаемому. который запропастился.
Операторы очень удобная вещь... но тут стоит очень сильно подумать...
А вобще свойства
__declspec(property(get="фуна получения", put="фуна записи")) тип и имя
здорово сокращают интерфейс над объектом. всегда рад помочь.
в С++ нет свойств, это прерогатива С++ CLR(ибо dotNET имеет это понятие).
может МС дала это и обычному С++ у своего компиля, но я не проверял работает ли без CLR.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.12.2012, 00:06   #17
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
Радость

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
в С++ нет свойств, это прерогатива С++ CLR(ибо dotNET имеет это понятие).
может МС дала это и обычному С++ у своего компиля, но я не проверял работает ли без CLR.
Работает можешь попробовать.... даже в C++ Builder.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 13.12.2012, 00:19   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это понимают лишь билдер и мс компиль(говорят еще интел)
gcc не понимает такого извращения.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.12.2012, 01:15   #19
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Херня это все.

11 стандарт содержит все необходимое для качественных проперти. Только последние нахер не нужны
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему вызывается деструктор? MrGukk Общие вопросы C/C++ 13 23.08.2012 17:42
перегруженных функций..???? /*Oleh*/ Общие вопросы C/C++ 2 20.02.2011 01:36
Приведение процедурных типов в перегруженных методах AndreyCo Общие вопросы Delphi 8 10.11.2009 19:20
Как отловить события которое вызывается при розворачивании подменющек (PopupMenu) DarkEvil Общие вопросы Delphi 9 09.05.2009 18:17
Почему ошибка при копировании? valerij Microsoft Office Excel 8 02.05.2009 01:49