![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]()
Всем доброго дня !
В функцию void hgh(Ca v) передаю временной обьект как значение. В Microsoft Visual C++ 6.0 при выводе получаю: attachment.php.jpg В онлайн компиляторе http://ideone.com/yjNGO2 копирования нет (нету доп. вызова деструктора) Кто-же из них прав ? ![]() Код:
Последний раз редактировалось Stilet; 08.08.2015 в 17:32. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Чет я не понял, что смутило?
Указатели разные?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 | ||
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]() Цитата:
Вообще такое вроде бывает из-за оптимизаций компилятора, может выкинуть копирование если ни на что не влияет. Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 08.08.2015 в 18:05. |
||
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А-а-а... Как-то не сразу на это внимание обратил. Ну я не думаю, что MVC в данном случае выступает гарантом стандарта.
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не, ну копирование это ж самые основы С++, это не то, что может быть реализовано в одном компиляторе, но отсутствовать в другом.
Но как я и говорил, компилятор при оптимизации может выкинуть копирование, которое ни на что не повлияет. https://en.wikipedia.org/wiki/Copy_elision http://stackoverflow.com/questions/1...ructor-elision http://stackoverflow.com/questions/1...e-optimization
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#6 | |
C/C++ advanced
Пользователь
Регистрация: 17.11.2011
Сообщений: 17
|
![]()
Alex11223, всё там есть http://codepad.org/3DAKb6Ir (ideone мог соптимизирвоать код )
Цитата:
PS:RAFA91, ещё не надоело мусолить этот код?На кибере им все глаза выел, теперь тут, что ты с ним хочешь сделать - обычный класс.Вообще без особенностей, нет там никаких невидимых объектов Вот ещё раз ideone http://ideone.com/muxndF - вообще баг (ни КК не вызывался не опреатор присваивания) http://ideone.com/pqr6IT тоже самое, что и http://codepad.org/3DAKb6Ir, так что скорей всего в компиляторе ideone - баг приводящий к утечке памяти именно для временных объектов, либо супер оптимизация(которая всё равно нестандартна)
За "хлеб и воду" не работаю
Последний раз редактировалось Stilet; 09.08.2015 в 11:21. |
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Какой еще баг? Выше ссылки на описание этой оптимизации. По второй ссылке цитата из стандарта (12.8.31), где говорится, что для временных объектов такая оптимизация разрешена.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#8 | |||
C/C++ advanced
Пользователь
Регистрация: 17.11.2011
Сообщений: 17
|
![]() Цитата:
void hgh(Ca v); как void hgh(Ca &v); и это БАГ а НЕ ФИЧА. Цитата:
Цитата:
За "хлеб и воду" не работаю
Последний раз редактировалось -=ЮрА=-; 09.08.2015 в 11:29. |
|||
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
https://isocpp.org/std/the-standard
последний черновик, все там есть в 12.8.31 Ну и в 2003 видимо тоже уже было.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#10 | ||
C/C++ advanced
Пользователь
Регистрация: 17.11.2011
Сообщений: 17
|
![]()
Alex11223, хорошо я скопировал этот пункт
Цитата:
Цитата:
За "хлеб и воду" не работаю
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача в функцию указателя на функцию C | Jar | Помощь студентам | 3 | 03.05.2014 16:27 |
Передача временного объекта в конструктор | 220Volt | Общие вопросы C/C++ | 6 | 21.04.2013 10:50 |
Передача массива в функцию | Garmon | Общие вопросы C/C++ | 6 | 23.09.2012 08:03 |
передача массива в функцию | Fatal Error | Общие вопросы C/C++ | 7 | 09.07.2012 17:45 |
Передача аргументов в функцию. C++ | Kholmansky | Помощь студентам | 2 | 15.09.2011 01:02 |