Продолжу рассказ про самое сложное собеседование по С++, которое у меня было. Про везение в первой задаче рассказал здесь. Сейчас перейдём ко второй.
Она была на метапрограммирование шаблонов и работу с typelists. Меня попросили написать метафункцию, которая определённым образом преобразует один typelist в другой.
Я понимаю, как это всё работает, но давненько такое не писал. Поэтому в голове у меня не складывалось, как это всё закодить. В какой-то момент я осознал, что здесь и сейчас не напишу эту функцию, поэтому я стал ... гуглить. Продолжая вслух рассуждать о том, как бы я написал эту метафункцию, я в соседней вкладке ввёл запрос типа
C++ typelists и довольно быстро нашёл на гитхабе подходящую библиотеку. Я пробежался по её коду, нашёл там метафункцию, которую мне надо написать, и смог быстро понять, как она устроена. В итоге удалось написать правильное решение, подглядывая в найденный репозиторий.
Опять же мне повезло, что какой-то добрый человек сделал библиотеку и выложил её на гитхабе. Ну и, конечно, хватило квалификации, чтобы быстро найти и понять код и написать решение.
Как считаете, такое решение задач - это читерство или норм?