Что выведет следующий код?
template <int N>
class SpookyAction {
friend int observe() {
return N;
}
};
int observe();
int main() {
SpookyAction<42>{};
std::cout << observe();
}Правильно. 42.
Про это, про explicit initialization, hidden friends и суммарно про то, как получить доступ к приватным методам любого класса можно прочесть в этой замечательной статье про один из трюков, найденных в folly.
Пока больше статей не насобирал ¯\_(ツ)_/¯
Что-то не залетает в последнее время.
==============================
В последнее время очень много статей про serverless архитектуры и штуки рядом. Я пока не оч вдупляю, зачем это надо, потому уверенно скипаю. Если вы что-то в этом понимаете и можете рассказать, зачем это надо и почему упрощает жизнь, накидывайте в комменты. Может я зря отказываюсь от такого контента.