2016-04-02 11 views

cevap

1

O C++ aynı şey ve

burada Cı ++ 2003 standardı (C.1.6) arasında bir pasaj C

kalmadır:

Değiştir: C++ 'da, boş bir parametre listesiyle bildirilen bir işlev hiçbir argüman almaz.

int f(); // means int f(void) in C++ 
      // intf(unknown) in C 

Gerekçe: Bu (yani fonksiyon yanlış aramaları hatalı fonksiyon aramalar kaçınmaktır C , boş bir parametre listesini foksiyon argümanları sayısı ve türü, "
Örnek bilinmemektedir demektir sayı veya bağımsız değişkenler türü) orijinal özelliğini

etkisi.:., iyi tanımlanmış özelliği anlambilim değiştirme Bu özellik

C

içinde “eskimiş” olarak işaretlenmiş
+0

"C'den bir hamle" - ne demek istiyorsun? C'de, bunlar iki farklı şeydir. –

+0

@TheParamagneticCroissant: güncellenmiş cevabımı görün – Buddy

2

Fark yoktur. void'u kullanmak, aynı şeyi bildirmenin yalnızca daha açık bir yoludur. Şahsen ben bu sözdizimini asla kullanmıyorum ve nadiren başka birinin de onu kullandığını görmüyorum.

0

Her ikisi de tam olarak aynıdır, argüman alanını boş bırakarak() tercih ettiğim gibi boş bırakılır, bazıları sadece yazma işlemini (boşluk) tercih eder, böylece kodu düzenleyen birinin hiçbir argümanın gerekmediği garanti edilebilir. Yine de, sadece okunabilirlik bir şey fark etmez.