G>Взялся бы еще кто-нибудь из Зубров поотвечать на них, подробненько так, с предисторией... G>А вот другим почитать (и мне в том числе) было бы интересно/поучительно.
А еще лучше сесть за MSDN и самому со всем этим разобраться. А в форуме спросить: "я правильно понимаю, что..."
Здравствуйте, Dr_Sh0ck, Вы писали:
DS>Здравствуйте, IT, Вы писали:
IT>>Может стоит организовать раздел на RSDN, посвящённый подобным вопросам?
DS> Хорошая идея
Ну куда-то делся Mishka.NET, он же ваял сертификацию.
Здравствуйте, Алекс, Вы писали:
А>Здравствуйте, Dima2, Вы писали:
D>>А вот еще список вопросов. Некоторые из них провокационные
А>[]
D>>В чем специфика применения операции delete к указателям на функции?
А>Вот это я не понял?
А вот если так
int func(double) { return 10; }
int main(int argc, char* argv[])
{
typedef int (*pffunc) (double);
pffunc* pf = new pffunc(0);
*pf = &func;
int k = (*pf)( 1.2 );
delete pf;
return 0;
}
Здравствуйте, Алекс, Вы писали:
А>Здравствуйте, Awaken, Вы писали:
A>>или коллекция вопросов на собеседовании которую я тщательно A>>собирал. некоторые вопросы реально задавались, некоторые описаны A>>из рассказов коллег.
A>>-как организовать освобождение ресурсов при выходе из функции/метода A>>-как предотвратить утечки памяти связанные с с забывчивостью вызывать Delete
А>ИМХО, два одинаковы вопроса
На первый надо ответить: возвращать smart pointer,
а на второй: по рукам бить
A>>-как запретить удаление объекта класса А>Не понял! Что, создать можно а удалить нельзя?
Можно но не всем.
A>>-для чего нужен виртуальный конструктор А>Я серьезно, может объяснишь, что-то я не очень врубаюсь что ты имеешь в виду
Для того чтобы создать класс тип которого ты точно не знаешь.
В некоторый языках он есть в прямой форме, а в C++
это название одного из производящих паттернов.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Алекс, Вы писали:
A>Подобный код и в страшном сне не приснится!
Но его можно привести на собеседовании, и сказать что это страшный сон и объяснить почему.
А>А что есть ноль в new pffunc(0)?
Инициализация указателя нулем. Макрос NULL не работал.
Здравствуйте, Dima2, Вы писали:
D>Здравствуйте, Awaken
D>Слушай, а ты за что мне ноль отвалил? D>Чем тебе вопросы неугодили? D>Ты же с этими вопросами уже второй месяц носишся.
Прошу прощения, хотел ведь все наоборот!
нажал не то случайно
Здравствуйте, Dima2, Вы писали:
D>Здравствуйте, Алекс, Вы писали:
D>>>В чем специфика применения операции delete к указателям на функции?
А>>Вот это я не понял?
D>Надо полагать, что это вопрос из серии — "расшатать чуткую нервную систему собеседуемого". Раз есть указатель значит его можно delete
если это и скопмилируется то в рантайме должно грохнуться
Здравствуйте, Dima2, Вы писали:
IT>>>Может стоит организовать раздел на RSDN, посвящённый подобным вопросам?
DS>> Хорошая идея
D>Ну куда-то делся Mishka.NET, он же ваял сертификацию.
Речь не о сертификации, а о справочнике вопросов и ответов для интервью.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
D>>Ну куда-то делся Mishka.NET, он же ваял сертификацию.
IT>Речь не о сертификации, а о справочнике вопросов и ответов для интервью.
О, это дорогого стоит.
Просто здесь все ленивые , вопросов накидать, то можно сколько угодно, а вот кто возьмется грамотно и кратко ответить
Здравствуйте, Dima2, Вы писали:
D>О, это дорогого стоит. D>Просто здесь все ленивые , вопросов накидать, то можно сколько угодно, а вот кто возьмется грамотно и кратко ответить
Здравствуйте, Awaken, Вы писали:
A>>-Какие есть способы передачи массива структур в COM-сервер.
>>А почуму именно в, а не из?
A>Имеется в виду описание структур в IDL и как ее засунуть в VARIANT
А при чем тут VARIANT к структурам?
A>>-Как создать единственный экземпляр приложения в памяти (singleton)
>>В памяти?
A>Речь о том чтобы только можно было запустить только одну копию программы A>Один из вариантов – использовать именованный объект ядра (например мьютекс)
Хм, насколько я понимаю, термин singleton обозначает, что все обращения к приложению будут направлены одному и тому же, единственному экземпляру этого приложения, а не запрет на запуск нескольких приложений. Разве это не так?
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Awaken, Вы писали:
A>>или коллекция вопросов на собеседовании которую я тщательно собирал. некоторые вопросы реально задавались, некоторые описаны из рассказов коллег.
IT>Я вот тут тоже пытался изобразить что-то год назад, но воз пока и ныне там. IT>http://www.rsdn.ru/?article/interview/?cpp.xml
IT>Может стоит организовать раздел на RSDN, посвящённый подобным вопросам?
Несомненно стоит! И рекрутерам этот раздел был бы довольно полезен...
Здравствуйте, The Lex, Вы писали:
IT>>Может стоит организовать раздел на RSDN, посвящённый подобным вопросам?
TL>Несомненно стоит! И рекрутерам этот раздел был бы довольно полезен...
Ну тогда давайте дружно попросим Awaken'а заняться этим делом когда он найдёт работу
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Алекс, Вы писали:
D>>В чем специфика применения операции delete к указателям на функции? А>Вот это я не понял?
Всю жизнь мечтал, пока работал с dll hell. (Сейчас уже всё равно, после КОМа и НЕТа). Чтобы код был красивым, описываем обычную функцию, грохаем её по указателю, подменяем на свою (из GetProcAddress()) и юзаем без этих страшных разыменований.
Если бы мне на собеседовании задали подобный вопрос, я бы высказался примерно так:
"Господа, я согласен остаться без работы, если вы мне скажете, каким грязным приёмом вам удалось заставить это работать".