Ini kemungkinan besar diterapkan sebagai (atau varian dari itu):
void print_fibs()
{
}
int ignore = (print_fibs(), 0);
int main() {}
Dalam kode ini, variabel global ignoreharus diinisialisasi sebelum masuk ke main()fungsi. Sekarang untuk menginisialisasi global, print_fibs()perlu dijalankan di mana Anda dapat melakukan apa saja - dalam hal ini, hitung nomor fibonacci dan cetak! Hal serupa yang saya tunjukkan dalam pertanyaan berikut (yang sudah lama saya tanyakan):
Perhatikan bahwa kode seperti itu tidak aman dan sebaiknya dihindari secara umum. Misalnya, std::coutobjek mungkin tidak diinisialisasi saat print_fibs()dijalankan, jika demikian maka apa yang akan std::coutdilakukan dalam fungsinya? Namun, jika dalam keadaan lain, tidak bergantung pada urutan inisialisasi, maka aman untuk memanggil fungsi inisialisasi (yang merupakan praktik umum di C dan C ++).