| 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 | |
|
Набор задачь для тренировки и улучшения понимания программирования Проверить на правильность и закомментировать весь код для лучшего понимания Нужны задачи для тренировки
Нужны задачи для тренировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|