Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.066 c
2-1124016175
Гость22
2005-08-14 14:42
2005.09.25
Как определить количество дней между двумя датами?


1-1125476926
Николай1
2005-08-31 12:28
2005.09.25
Интерфейс программы храниться в DLL


4-1122581515
Михаил(Киров)
2005-07-29 00:11
2005.09.25
Еще раз про горячие клавиши


1-1125809637
NikNet
2005-09-04 08:53
2005.09.25
Как запустить ф-цию с параметрами строки в ASM


3-1123604223
Punch
2005-08-09 20:17
2005.09.25
Как убрать ненужный "Locate"?