avva: (Default)
[personal profile] avva
N.N., в порыве отчаяния: "Я не пишу на си-плюс-плюсе! Я пишу на копи-пейсте!"

Date: 2003-06-25 04:42 pm (UTC)
From: [identity profile] arbat.livejournal.com

I can't care less if they know architecture-specific details. I just want them to know how the fuck the function code accesses the parameters and where does the this pointer come from. And so on.

Date: 2003-06-25 05:16 pm (UTC)
From: (Anonymous)
er, which pointer?
i.e. why wouldn't you learn it yourself, first?

hint: the way to access function arguments(not parameters) in a portable way is defined in a C (and C++) standard, specifically to avoid any explicit stack or stack layout reference. See stdarg.h.

It also helps to know that hardly any modern architectures pass arguments through the stack.

P.S. and, please, kindly keep you attitude for interviewee - unlike me they are in perfect position to appreciate your class act as a fitful complement to your professional knowledge.

Date: 2003-06-25 05:35 pm (UTC)
From: [identity profile] arbat.livejournal.com

В следуюший раз не забудьте с тем же пафосом цообщить, что vtable не есть непременная часть имплементации механизма виртуальных функций.

Мне достаточно, чтобы они знали - в чем разница передачи парам... то, есть, простите (о, будьте великодушны) аргументов по значению и через ссылку. И почему нельзя возвращать из функции ссылку на локальную переменную. И так далее. Но мне вовсе не надо, чтобы они могли написать точный ассемблерный код. Что ж тут непонятного?


Date: 2003-06-25 08:03 pm (UTC)
From: (Anonymous)
непонятно одно - при чем здесь стэк?
тот Ваш комментарий парой реплик выше, видите, да?!
"что помещается на стек" трам-пам-пам ...

кстати, и "возвращать из функции ссылку на локальную переменную" можно, допустимо, легально, и часто встречается, легально и без нарушения каких-либо правил языка.
примерчик желаете, или сами?

Date: 2003-06-26 03:59 pm (UTC)
From: [identity profile] arbat.livejournal.com

Ох... Ну, как насчет - стек тут при том, что так легче объяснять, так же, как vtable позволяет объяснять определенные идеи о виртуальных функциях. Для аудитории, которая не занимается написанием компиляторов и системного кода и в которой нету маниакального зануды - достаточно. В пртивном случае приходится, как во многих книгах сопровождать каждое упоминание о стеке или vtable длинной сноской, в которой много и подробно говорить о том, как это может быть и иначе. Убедительно, нет? А, не важно.

Да, давайте примерчик.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 01:17 am
Powered by Dreamwidth Studios