Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] apocalypse 03.08.01 22:10 Число просмотров: 932
Автор: + . Статус: Незарегистрированный пользователь
|
> > If your “C++” experience is the same as your English > > experience then I don’t have to argue with you. You > will > > understand it later (in 1~2 years). :-) :-) :-) > :-) > > Ой, ой, ой. Пальцы прямо из экрана лезут...
Dak slomai ix.
> > > > foo() > > { > > f(); > > //is equal to > > this->f();//address is used, which > > //means the information is incomplete. Now you see > it. > > Late binding. > > //if you don’t believe me look at this assembler code > > generated by VC compiler. > > > > 62: this->f(); > > 00401589 mov eax,dword ptr [ebp-4] > > 0040158C mov edx,dword ptr [eax] > > 0040158E mov esi,esp > > 00401590 mov ecx,dword ptr [ebp-4] > > 00401593 call dword ptr [edx+4] > > 00401596 cmp esi,esp > > 00401598 call __chkesp (00401c50) > > 63: f(); > > 0040159D mov eax,dword ptr [ebp-4] > > 004015A0 mov edx,dword ptr [eax] > > 004015A2 mov esi,esp > > 004015A4 mov ecx,dword ptr [ebp-4] > > 004015A7 call dword ptr [edx+4] > > 004015AA cmp esi,esp > > 004015AC call __chkesp (00401c50) > > А к чему ты это нарисовал? kabanchik(а) неустраивало как > раз раннее связывание в обход vtbl в случае вызова d.f() > для этого примера. Ты бы предыдущие постинги почитал бы или > гордыня не позволяет?
Po moemu I otvetil na ego vopros. Sluchaii kogda Foo vyzyvaetsia vnutri drugoi foo obecta.
Tak chto eto eche ras dokazyvaet, chto terpenia u tebia net prochitat` posting, na kotoryi I otvetil. I uvidev moi moniker na gorizonte stremishsia ko mne kak bыdlo bezhalo na zimnii dvorec.
> > > > > // Early binding (probably): > > > ^^^^^^^^^^^^^ good words. you can only suppose, > but I > > gues > > > you are not sure. > > Yes, I am not sure. But many compilers were > constructed to > > do “early binding” there. > > Ой я сейчас умру. Я все думала кто-же такой под плюсиками > скрывается, а это оказывается Bruce Eckel собственной > персоной. Интересно, а собственный пример ты можешь > изобразить или только из книжки copy/paste?
Bot vidish i ty chitala eto knigu. Interesno, A vse ostalnye znania tebe ot boga dany?
> > > > Chto takoe "З.Ы." ? :-} > Ты бы это... русский шрифт бы себе поставил что-ли. Который > год все на велапуке общаешься, глядишь и узнал бы что такое > "З.Ы.".
Ne vizhu ni kakoi sviazi mezdu ustanovlennym shriftom i "З.Ы.".
> > 2kabanchik: В общем в таком поведении компиляторов нет > ничего странного, как бы по умолчанию компилятор должен > использовать раннее связывание там где это возможно. И в > случае с явным указанием класса, функцию которого следует > вызвать, компилятор и должен вызвать функцию "напрямую" без > обращения к таблице. Фокусы с заменой vtbl > "запрограммированы" не были ;))))
|
|
|