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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.04.2016, 16:30   #141
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Object Test(Object obj)
{
return obj;
}


один хрен при возврате будет вызов копировщика.

скрин выкладывать ?


и да. у меня оптимизация на максимуме.
RAFA91 вне форума
Старый 15.04.2016, 16:31   #142
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
один хрен при возврате будет вызов копировщика.
а теперь перечитай где я объяснил почему.
результат функции неявная-недоступная переменная, и она должна быть создана.
так что все логично, если помнить о том что есть что.

вы не забывайте оценивать куски кода и отдельно тоже.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 15.04.2016 в 16:33.
Пепел Феникса вне форума
Старый 15.04.2016, 16:36   #143
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

специально выделю отдельным постом.

прототип Object Test();
предписывает вернуть новый объект.
так же как и указание самого объекта(не указателя/ссылки) в аргументе предписывает передать копию.
неужели тяжело это понять?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 15.04.2016, 16:36   #144
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

я не понимаю что вы сейчас мне пытаетесь доказать ?

выгораживать косячный вызов копировщика при возврате глупо.

косяк есть косяк. и конструктор перемещения это решение этих

косяков.

вы бы лучше б показали результат работы программы а не код.
RAFA91 вне форума
Старый 15.04.2016, 16:37   #145
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
я не понимаю что вы сейчас мне пытаетесь доказать ?

выгораживать косячный вызов копировщика при возврате глупо.

косяк есть косяк. и конструктор перемещения это решение этих

косяков.

вы бы лучше б показали результат работы программы а не код.
конструктор перемещения тут вообще ничем не поможет.
все равно создается результат функции, но разница лишь в том с конструктором перемещения указывается что аргумент будет уничтожен.

вы не понимаете как работает язык.

Цитата:
косяк есть косяк.
косяк это такой код, где программист не понимает что будет происходить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 15.04.2016 в 16:41.
Пепел Феникса вне форума
Старый 15.04.2016, 16:41   #146
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

то что надо понимаю.

вы сейчас вообще свернули не в ту сторону.

я вам про одно - вы мне про другое .

сейчас обсуждаются проблемы связанные с возвратом объекта по значению.

не нужно показывать как вы создаете копию в теле функции.
RAFA91 вне форума
Старый 15.04.2016, 16:42   #147
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
не нужно показывать как вы создаете копию в теле функции.
где вы нашли копию в теле функции?
я про нее никогда не говорил.
это вы в посту 137 ее сделали.
Цитата:
сейчас обсуждаются проблемы связанные с возвратом объекта по значению.
так прочти же пост 143 и обрети тайное знание.
Цитата:
то что надо понимаю.
о да, я вижу.
запросили у языка создание нового объекта и удивляетесь почему он новый то создает, гениально.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 15.04.2016, 16:49   #148
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

а это что вы тут написали в теле

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
х
}[/CODE]равносильна
Код:
Object Test(Object obj)
{
  Object Result(obj);//результат функции
  return;
}
т
Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
гд
запросили у языка создание нового объекта и удивляетесь почему он новый то создает, гениально.
это при получении я запросил создание копии.

но я этого не просил при возврате.


про правила не надо. я в курсе что создатель языка захотел и при возврате

делать вызов копировщика.

естественно если возвращаем по значению.

может еще про область видимости сказки пойдут ?

Последний раз редактировалось RAFA91; 15.04.2016 в 16:52.
RAFA91 вне форума
Старый 15.04.2016, 16:50   #149
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
а это что вы тут написали в теле
а вы скомпилируйте этот код без дополнений и тогда может поймете, что я просто выделил неявную-недоступную переменную результата функции.
я просто показал где идет вызов конструктора.

можно с ссылкой на ideone даже.
Цитата:
но я этого не просил при возврате.
омг что?
синтаксис
Код:
Base Test(Base)
новый объект результата.
копия в аргумент(или временный объект)

так что все вы запросили.
Цитата:
естественно если возвращаем по значению.
так у вас и есть возврат по значению.

хватит доказывать что вы не знаете языка.
указание объекта значения, всегда копия
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 15.04.2016 в 16:55.
Пепел Феникса вне форума
Старый 15.04.2016, 16:54   #150
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

а скрин что я выложил в посте 137 чей тогда

как раз по вашему примеру.
Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а
так что все вы запросили.
вот в этом то и проблемы в ++

что придумали возврат по ссылке и по значению
RAFA91 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик перемещения mitiay Общие вопросы Delphi 1 11.05.2015 20:50
Отслеживание перемещения picturebox Aleksa91 C# (си шарп) 7 15.06.2014 14:55
Планирование перемещения squid90 Фриланс 3 27.12.2011 21:48
Тормоза перемещения по DBGrid artemavd БД в Delphi 17 12.10.2010 17:52
С++ (конструктор, деструктор, копирующий конструктор) Jane-sad Помощь студентам 2 01.10.2010 10:01