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.
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.
В следуюший раз не забудьте с тем же пафосом цообщить, что vtable не есть непременная часть имплементации механизма виртуальных функций.
Мне достаточно, чтобы они знали - в чем разница передачи парам... то, есть, простите (о, будьте великодушны) аргументов по значению и через ссылку. И почему нельзя возвращать из функции ссылку на локальную переменную. И так далее. Но мне вовсе не надо, чтобы они могли написать точный ассемблерный код. Что ж тут непонятного?
непонятно одно - при чем здесь стэк? тот Ваш комментарий парой реплик выше, видите, да?! "что помещается на стек" трам-пам-пам ...
кстати, и "возвращать из функции ссылку на локальную переменную" можно, допустимо, легально, и часто встречается, легально и без нарушения каких-либо правил языка. примерчик желаете, или сами?
Ох... Ну, как насчет - стек тут при том, что так легче объяснять, так же, как vtable позволяет объяснять определенные идеи о виртуальных функциях. Для аудитории, которая не занимается написанием компиляторов и системного кода и в которой нету маниакального зануды - достаточно. В пртивном случае приходится, как во многих книгах сопровождать каждое упоминание о стеке или vtable длинной сноской, в которой много и подробно говорить о том, как это может быть и иначе. Убедительно, нет? А, не важно.
no subject
Date: 2003-06-25 04:42 pm (UTC)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.
no subject
Date: 2003-06-25 05:16 pm (UTC)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.
no subject
Date: 2003-06-25 05:35 pm (UTC)В следуюший раз не забудьте с тем же пафосом цообщить, что vtable не есть непременная часть имплементации механизма виртуальных функций.
Мне достаточно, чтобы они знали - в чем разница передачи парам... то, есть, простите (о, будьте великодушны) аргументов по значению и через ссылку. И почему нельзя возвращать из функции ссылку на локальную переменную. И так далее. Но мне вовсе не надо, чтобы они могли написать точный ассемблерный код. Что ж тут непонятного?
no subject
Date: 2003-06-25 08:03 pm (UTC)тот Ваш комментарий парой реплик выше, видите, да?!
"что помещается на стек" трам-пам-пам ...
кстати, и "возвращать из функции ссылку на локальную переменную" можно, допустимо, легально, и часто встречается, легально и без нарушения каких-либо правил языка.
примерчик желаете, или сами?
no subject
Date: 2003-06-26 03:59 pm (UTC)Ох... Ну, как насчет - стек тут при том, что так легче объяснять, так же, как vtable позволяет объяснять определенные идеи о виртуальных функциях. Для аудитории, которая не занимается написанием компиляторов и системного кода и в которой нету маниакального зануды - достаточно. В пртивном случае приходится, как во многих книгах сопровождать каждое упоминание о стеке или vtable длинной сноской, в которой много и подробно говорить о том, как это может быть и иначе. Убедительно, нет? А, не важно.
Да, давайте примерчик.