| 15.07.2010, 05:53 | |
|
Ответы с готовыми решениями:
1272
Элементарные программы, для лучшего понимания языка...
Литература для лучшего понимания сути программирования |
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|||||||||||
| 23.07.2010, 01:20 | |||||||||||
|
Lavroff, neske, хе-хе... а ведь в задачке rangerx, тоже всё банально просто.
Нужно просто рассмотреть эту строчку:
А вот "http:" рассматривается как обычная метка. ![]() Для лучшего понимания простенький пример:
5
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 23.07.2010, 01:22 [ТС] | |
|
MikeSoft, Ух как. Про метки не знал. Спасибо. Может задачку подкините заодно какую-нибудь?)
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|||||||
| 23.07.2010, 01:33 | |||||||
0
|
|||||||
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|||||||
| 23.07.2010, 01:46 | |||||||
![]()
Попробуйте посмотреть на задачку и сказать, что в ней неправильно. Компилятор, думаю, вам не поможет...
0
|
|||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 23.07.2010, 02:03 [ТС] | ||||||
|
Не знаю... Но вот что нашел...
Если совсем не то - скажите, но ответ не говорите... Еще тогда подумать попробую...
0
|
||||||
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||
| 23.07.2010, 02:22 | ||
|
Но ответ неверный.
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 23.07.2010, 02:29 [ТС] | |
|
Нет... Не могу найти ошибку... Синтаксически вроде все правильно... В функции создаем указатель на объект класса Test, выделяем под него память операцией new, используя конструктор с параметрами типа int Test(5). Получаем размер - и печатаем его...
В мейне создаем ссылку на объект класса Test и вызываем для него функцию TestObject... В итоге получаем в поле Size объекта rTestObject значение 5...Выводим значение на экран... Чистим память... Можно ответ? Если хотите, чтобы кто-нибудь еще порешал ответ можно в лс...
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||
| 23.07.2010, 02:35 | ||
|
Если я вам сейчас скажу ответ, вы его забудете через N дней. А вот если сами попробуете разобраться - то запомните на более длинный промежуток, если не навсегда. Я попробую чуть натолкнуть на мысль. Прокомментируйте ещё раз действия, которые выполняются в функции main. Особенно меня интересуют строки 26, 30, 31.
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 23.07.2010, 02:47 [ТС] | |
|
MikeSoft, Мы объявляем ссылку на объект класса Test инициализируя ее тем, что возвращает ссылка на функцию TestObject, которая возвращает указатель на объект класса Test...
Затем мы присваиваем указателю на объект Test значение ссылки на другой объект Test. Затем удаляем указатель на Test, точнее очищаем память... Память так же очищается и в другом объекте. А это нормально что у указателя возвращаемого функцией и ссылки которую мы создали в мейн один и тот же адрес?
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|||
| 23.07.2010, 02:53 | |||
|
Все действия выполняются только на одном объекте. Выполняя присвоение указателю вы даже не вызываете конструктор копирования.
0
|
|||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 23.07.2010, 03:18 [ТС] | ||||||
|
MikeSoft, нет... видать я плохо занимался и занимаюсь. никаких мыслей. Мы ведь не делаем ничего против стандарта... Или делаем?
Добавлено через 8 минут А не логичнее ли так?
0
|
||||||
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|||
| 23.07.2010, 03:34 | |||
|
0
|
|||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 23.07.2010, 03:42 [ТС] | |
|
MikeSoft, Пас. Смотреть сегодня уже не могу. ВС пищит сильно, если что не так. А на дворе ночь. Спать мешаю.
В чем все же ошибка?
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
| 23.07.2010, 03:51 | |
|
Пусть задача пока что останется для обсуждения.
Если нужно будет, ответ я озвучу здесь. А пока что, он у вас в ЛС.
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 23.07.2010, 04:05 [ТС] | |
|
MikeSoft, Прекрасная задача, спасибо! Еще дадите что-нибудь?)
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||
| 23.07.2010, 04:23 | ||||||
|
Lavroff, а как на счёт почти идентичной задачи?
Опять тот же класс, те же ссылки... Но функция создаёт обьект класса:
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 23.07.2010, 04:39 [ТС] | ||||||
Хотя даже не совсем так... Возвращает то он верно, но после вызова функции GetSize в size попадает то-ли мусор, то-ли адрес объекта в памяти. Скорее второе.
0
|
||||||
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
| 23.07.2010, 04:43 | |
|
Lavroff,
всё там в рамках цензуры. Компиляторы фирмы Microsoft выполнят эту программу с одним предупреждением (чем оно вызвано?). А вот компилятор от Borland или Embarcadero откажутся выполнять. В чём же загвоздка?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 23.07.2010, 04:49 [ТС] | |
|
MikeSoft, В том что из функции возвращается адрес локальной или временной переменной.
Дык нехорошо адрес то возвращать. Как-то неправильно что-ли) Значение Size после вызова функции из мейн: 1244788. А в ссылке содержится адрес временного элемента... не?
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
| 23.07.2010, 04:57 | |
|
Lavroff, в теле ф-ции TestObject() объявляется локальный объект и инициализируется Size. Затем этот объект возвращается по ссылке.
По возвращению функции TestObject() локальный объект pTestObject будет разрушен. Возвращаемая ссылка же останется псевдонимом для несуществующего объекта. Вот она, ошибка.
2
|
|
| 23.07.2010, 04:57 | |
|
Набор задачь для тренировки и улучшения понимания программирования Проверить на правильность и закомментировать весь код для лучшего понимания Нужны задачи для тренировки
Нужны задачи для тренировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|