Nasıl ana içinde bir şey ilan etmek mümkün mü() C ve henüz derleme sonra çalışan bir uygulama var mı?
Bir röportajda bu gibi bir soru ile karşılaştım
Arkadaşın sana tek bir kaynak yazdıran kodu dosya verdi Bu sayılar Fibonacci konsol. Bu main() not taşıdır boş ve içinde herhangi bir ifade yok.
Bunun nasıl mümkün olduğunu açıklar (ipucu: genel örnek!)
Gerçekten böyle bir şey mümkün olabilir bunu nasıl bilmek istiyorum! Şimdiden teşekkürler
CEVAP
Büyük olasılıkla (veya bir türevi) olarak gerçekleştirilir:
void print_fibs()
{
//implementation
}
int ignore = (print_fibs(), 0);
int main() {}
Bu kodu ignore
main()
girmeden önce başlatılması için genel değişkeni fonksiyon. Şimdi sırada küresel başlatmak için, print_fibs()
bir şey yap&; bu durumda -, fibonacci sayıları hesaplamak ve bunları yazdırabilirsiniz nerede idam edilmesi gerekiyor. Sorum şu gösterdiğim benzer bir şeyi uzun süre önce sormuştum)
Bu kodu güvenli değil ve genel olarak en iyi Kaçınılması gerektiğini unutmayın. Örneğin, std::cout
nesne print_fibs()
eğer öyleyse o zaman, yürütülür başlatılmamış olabilir std::cout
işlevi ne yapardınız? Diğer durumlarda, bu tür başlatma sırasına bağlı değil mi, ancak daha sonra güvenli başlatma fonksiyonları C ve C ortak bir çalışmaya davet etmek.
Nasıl bir hizmet Android üzerinde çalı...
bir uygulama içinde kullanıcı adı/paro...
Nasıl ViewPager içinde parmak ile kayd...
Nasıl bir veritabanı SQL Server içinde...
Nasıl bir Kısıtlama Sql server içinde ...