Neden main() C inlined olamaz?
C SSS okuyordum ve bir cümle dikkatimi çekti.
() ana ınline olamaz.
Neden bu?
CEVAP
Standart dediği için:
[2003: 3.6.1/3]
: Ana işlevi kullanılır (3.2) bir program dahilinde olmayacaktır. Bu ana bağlantı (3.5) uygulama tanımlı.Bir program ana satır içi veya statik olarak bildirir kötü oluşur.Adı ana aksi halde saklıdır. [Örnek: üye fonksiyonlar, sınıflar, ve numaralandırma diğer ad varlıklar olarak ana adı, olabilir. ]
Ve neden böyle yazıyor? Bireysel .. iyi, main
uygulanması hakkında kadar gitmeye çalışıyorum çünküuygulama.. olarak mümkün, ve inline
belki hiçbir pratik yararı varsa burada geçerli olmasını gerektiren uygulamaları sınırlamak istemiyor.
Komitede arkadaşım bunu doğruladı:
inline
main()
bir başına işe yaramaz bir neden yok. [ .. ]main()
inlined çağırabilirsiniz C tercümanlık yapabilirim. 6*/static
main()
* [..] [ama] umarım karışıklığı önlemek amacıyla yasaklanmıştır. Zor mantığı bir şey zaten [Q&A] söylenenleri ek olacağını hayal buluyorum.
BTW, aslında satır içi uygulaması fonksiyonları ile inline
ipucu anahtar kelime karıştırmayın. inline
ve fiziksel olarak inlined olmayabilir fonksiyon işareti olabilir.
Eğer main
Bu doğru olsaydı bile, "inlined olamaz" (ve kelimenin tam anlamıyladeğilmain
satır içi uygulaması yerine başka cevaplar açıklandığı gibi garip ve anlamsız) olur da bir gerçek, teorik olarak hala inline
ipucu: anahtar kelime, iyi bir destek olabilir.
Bu nedenle yukarıdaki ifade etmiyor, ve litb cevap: hiçbir gerçek yararı için karmaşıklaştırıyor.
Neden "pusula izle" söyle yü...
Neden java Dize Tamsayı döküm olamaz?...
Sil .app_data neden dosya istisna olam...
Neden sıralanmamış bir dizi daha hızlı...
Neden bu iki kez (1927) garip bir sonu...