Russian Qt Forum
Ноябрь 23, 2024, 10:14
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Общий
>
Объясните понятно, доступно и просто как для чайника про приведение типов.
Страниц:
1
2
3
[
4
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Объясните понятно, доступно и просто как для чайника про приведение типов. (Прочитано 27502 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Объясните понятно, доступно и просто как д
«
Ответ #45 :
Март 11, 2012, 16:26 »
Цитата: mutineer от Март 11, 2012, 16:15
- скастить твой указатель обратно в B* просто динамиком все равно не получится)))
И правильно не получится - ведь объекта B не было создано.
Ладно, задачка для
lolbla2
и др кто любит изучать экспериментируя (а не только книжки читать).
Кто знает - не подсказывать
Код
C++ (Qt)
...
B
*
pB
=
dynamc_cast
<
B
*>
(
pA
)
;
printf
(
"pA = %p, pB = %p
\n
"
,
pA
,
pB
)
;
Придумать такие классы A и B, чтобы печатались
разные ненулевые
указатели
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Объясните понятно, доступно и просто как д
«
Ответ #46 :
Март 11, 2012, 17:30 »
Цитата: Igors от Март 11, 2012, 16:26
а не только книжки читать
Это есть в любой книжке по с++
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Объясните понятно, доступно и просто как д
«
Ответ #47 :
Март 11, 2012, 17:37 »
Цитата: Авварон от Март 11, 2012, 17:30
Это есть в любой книжке по с++
А для начитанных есть темка чуть сложнее
http://www.prog.org.ru/index.php?topic=21228.msg145940#msg145940
Записан
lolbla2
Гость
Re: Объясните понятно, доступно и просто как д
«
Ответ #48 :
Март 12, 2012, 09:31 »
Цитата: Igors от Март 11, 2012, 16:26
Цитата: mutineer от Март 11, 2012, 16:15
- скастить твой указатель обратно в B* просто динамиком все равно не получится)))
И правильно не получится - ведь объекта B не было создано.
Ладно, задачка для
lolbla2
и др кто любит изучать экспериментируя (а не только книжки читать).
Кто знает - не подсказывать
Код
C++ (Qt)
...
B
*
pB
=
dynamc_cast
<
B
*>
(
pA
)
;
printf
(
"pA = %p, pB = %p
\n
"
,
pA
,
pB
)
;
Придумать такие классы A и B, чтобы печатались
разные ненулевые
указатели
Изучать экспериментируя лучше всего ИМХО, потому что не всё что написано в книжке с первого раза получается на практике... да и к тому же приходится искать книжки где то что тебе нужно достаточно подробно и понятно написано
Записан
mutineer
Гость
Re: Объясните понятно, доступно и просто как д
«
Ответ #49 :
Март 12, 2012, 11:26 »
Цитата: lolbla2 от Март 12, 2012, 09:31
Изучать экспериментируя лучше всего ИМХО, потому что не всё что написано в книжке с первого раза получается на практике... да и к тому же приходится искать книжки где то что тебе нужно достаточно подробно и понятно написано
Ну давай, дерзай решать:)
Записан
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Объясните понятно, доступно и просто как д
«
Ответ #50 :
Март 12, 2012, 12:01 »
Цитата: lolbla2 от Март 12, 2012, 09:31
Изучать экспериментируя лучше всего ИМХО
Чего греха таить, все мы иногда так поступаем.
Просто не забывайте, что есть UB, которые могут по разному обрабатываться в зависимости от компилятора, ОС, их версий и настроек, а так же порой от погоды на Марсе.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Объясните понятно, доступно и просто как д
«
Ответ #51 :
Март 12, 2012, 12:56 »
Цитата: LisandreL от Март 12, 2012, 12:01
Чего греха таить, все мы иногда так поступаем.
Не вижу в этом никакого "греха"
Не призываю игнорировать теорию, но все хорошо в меру.
Записан
lolbla2
Гость
Re: Объясните понятно, доступно и просто как д
«
Ответ #52 :
Март 12, 2012, 18:01 »
Цитата: LisandreL от Март 12, 2012, 12:01
Цитата: lolbla2 от Март 12, 2012, 09:31
Изучать экспериментируя лучше всего ИМХО
Чего греха таить, все мы иногда так поступаем.
Просто не забывайте, что есть UB, которые могут по разному обрабатываться в зависимости от компилятора, ОС, их версий и настроек, а так же порой от погоды на Марсе.
UB - Undefined behaviour ?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Объясните понятно, доступно и просто как для чайника про приведение типов.
«
Ответ #53 :
Март 12, 2012, 18:33 »
Цитата: lolbla2 от Март 12, 2012, 18:01
UB - Undefined behaviour ?
Может быть и "Universal Binary" - запоминать все возможные аббревиатуры нет смысла. А что это Вы так к (конкретным) знаниям потянулись? Экспериментировать уже расхотелось?
Записан
mutineer
Гость
Re: Объясните понятно, доступно и просто как для чайника про приведение типов.
«
Ответ #54 :
Март 20, 2012, 21:10 »
lolbla2
, так чаво с решением?
Записан
Страниц:
1
2
3
[
4
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...