Текущий архив: 2005.09.25;
Скачать: CL | DM;
Вниз
VMT в MSVC++ Найти похожие ветки
← →
han_malign © (2005-08-29 13:04) [0]Бред:
class CBaseClass
{
............
};
class CClass: public CBaseClass
{
............
}
CBaseClass* class = new CClass();
(DWORD)((CClass*)class)-(DWORD)class == 4
- что за compiller magic с указателем? Первый раз такое вижу...
← →
shaitanoved (2005-08-29 17:26) [1]http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarvc/html/jangrayhood.asp
+
.5 л.
← →
wicked © (2005-08-29 20:57) [2]бред вот:
CBaseClass* class = new CClass();
и не мешало бы привести внутренности классов... еще лучше - урезАть их до тех пор, пока условие выполняется... дабы не постить сюда огромные исподники...
← →
Igorek © (2005-08-29 21:33) [3]http://www.rsdn.ru/article/cpp/fastdelegate.xml#EXA - возможно прояснит общую картину.
Еще где-то в другом месте на рсдн я встречал обсуждение этой темы, но нашел только это.
> wicked © (29.08.05 20:57) [2]
> бред вот:
> CBaseClass* class = new CClass();
Нет, имхо вот некорректность:
> (CClass*)class
И вследствие того, что что указатели на базовый и производный классы занимают разный размер имеем "magic".
← →
Lamer@fools.ua © (2005-08-29 23:23) [4]>>Igorek © (29.08.05 21:33) [3]
>И вследствие того, что что указатели на базовый и производный классы занимают разный размер имеем "magic".
Что-то не верится, что размеры указателей разные.
← →
марсианин © (2005-08-29 23:52) [5]
> И вследствие того, что что указатели на базовый и производный
> классы занимают разный размер имеем "magic".
размер классов, ты хотел сказать?
не... он же все к DWORD приводит, вычитаются целые..
2han_malign
а что за классы? подозреваю, что CBaseClass - не содержит виртуальных функций, а CClass - содержит...
так?
только в таком случае должно получиться DWORD(-4)
Страницы: 1 вся ветка
Текущий архив: 2005.09.25;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.043 c