Швидше за все, це реалізовано як (або його варіант):
void print_fibs()
{
}
int ignore = (print_fibs(), 0);
int main() {}
У цьому коді глобальна змінна ignoreповинна бути ініціалізована перед входом у main()функцію. Тепер для того, щоб ініціалізувати глобальний, print_fibs()потрібно виконати там, де ви можете зробити що завгодно - в цьому випадку обчисліть числа Фібоначчі та роздрукуйте їх! Подібне я показав у наступному запитанні (яке я давно вже задавав):
Зауважте, що такий код не є безпечним і його слід уникати взагалі. Наприклад, std::coutоб'єкт не може бути ініціалізований під час print_fibs()виконання, якщо так, то що std::coutробити у функції? Однак, якщо за інших обставин це не залежить від такого порядку ініціалізації, тоді безпечно викликати функції ініціалізації (що є звичайною практикою в C та C ++).