![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
kwisp |
![]()
Сообщение
#11
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 16.9.2010, 15:48) Link Ну и cast_* само собой ну и конечно же различные operator Type() |
|
|
kvak |
![]()
Сообщение
#12
|
Студент ![]() Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
А если в этом случае
oe_units = qobject_cast<QComboBox*>(PM->TABLE_ELITE->cellWidget(e, f)); допустим, в ячейке (e, f) нет виджета QComboBox, то как себя программа поведет ? |
|
|
igor_bogomolov |
![]()
Сообщение
#13
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
oe_units будет равна нулю. Не забывай делать проверку и проблем не будет
|
|
|
Алексей1153 |
![]()
Сообщение
#14
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 16.9.2010, 17:48) Link kwisp прав, вот стиль описанный в Си++: char ch = 0x01; int = int(ch); вообще-то речь про приведение указателей была ![]() ![]() |
|
|
DEADHUNT |
![]()
Сообщение
#15
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Алексей1153 @ 16.9.2010, 22:10) Link вообще-то речь про приведение указателей была ![]() ![]() адреса вообще-то тоже требуется корректировать(при необходимости). |
|
|
kwisp |
![]()
Сообщение
#16
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Алексей1153,
он тебе вообще про приведение типов в с++. про то как принято. твой вариант остался из Си. и оставили его только из за совместимости с уже написанным кодом. чтобы он собирался новыми компиляторами. то что хоть раз принималось стандартом очень тяжко выкинуть. не хочешь не используй ни касты ни приводящие конструтокры ни операторы Type(). и приводи указатели старым способом. хозяин барин. |
|
|
Алексей1153 |
![]()
Сообщение
#17
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(DEADHUNT @ 17.9.2010, 0:16) Link адреса вообще-то тоже требуется корректировать(при необходимости). хоть один пример в студию. Пока что я не могу придумать такой случай kwisp, да нет, у меня нет привычек от СИ , я сразу с C++ начал. Каст использовать или нет - не вижу необходимости в нём, а выглядит неэстетично ![]() ![]() |
|
|
kwisp |
![]()
Сообщение
#18
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Алексей1153 @ 16.9.2010, 22:28) Link не вижу необходимости в нём ладно раз уж начал песню допою до конца. тему потом разделим. Цитата(Алексей1153 @ 16.9.2010, 22:28) Link Каст использовать или нет - не вижу необходимости в нём, а выглядит неэстетично т.е. ты всегда уверен что приведение закончится успешно? Цитата(Алексей1153 @ 16.9.2010, 22:28) Link хоть один пример в студию. Пока что я не могу придумать такой случай та легко. при освобождении памяти ты даешь delete указатель - как по адресу delete определяет сколько памяти освободить? каков размер обЪекта? |
|
|
DEADHUNT |
![]()
Сообщение
#19
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Алексей1153 @ 16.9.2010, 22:28) Link хоть один пример в студию. Пока что я не могу придумать такой случай
ну и ещё что-то там наворотить когда статически нельзя определить смещение базового класса(надо использовать dynamic_cast). |
|
|
Алексей1153 |
![]()
Сообщение
#20
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(kwisp @ 17.9.2010, 0:42) Link т.е. ты всегда уверен что приведение закончится успешно? конечно ![]() Цитата(kwisp @ 17.9.2010, 0:42) Link та легко. при освобождении памяти ты даешь delete указатель - как по адресу delete определяет сколько памяти освободить? каков размер обЪекта? это не пример. Во первых, АДРЕС не поменяется от этого. Во вторых, для таких случаев должен быть виртуальный деструктор, либо ты уж учитывай, какой тип удаляется и приведи его перед удалением А DEADHUNT говорил Цитата(DEADHUNT @ 17.9.2010, 0:16) Link адреса вообще-то тоже требуется корректировать DEADHUNT, в твоём примере адрес не меняется и не корректируется тоже ) я вредное, я знаю... Но пока не увидел убедительных объяснений обязаловки применения каста ![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.8.2025, 4:09 |