Yeni satır yoksa oluşabilecek bazı sorunları düşünün. ANSI standardına göre, #includedosyanın başındaki dosya tam olarak dosyanın önündeki gibi eklenir ve dosyanın sonrasından sonra yeni satırı eklemez #include <foo.h>. Bu nedenle, ayrıştırıcının sonuna satırsonu içermeyen bir dosya eklerseniz, dosya son satırı foo.hilk satırıyla aynı satırdaymış gibi görünür foo.cpp. Ya foo.h dosyasının son satırı yeni bir satır olmadan bir yorum olsaydı? Şimdi ilk satırı foo.cppyorumlandı. Bunlar, sürünebilecek sorunların sadece birkaç örneğidir.
Sadece ilgilenen tarafları James'in cevabına yönlendirmek istedim. Yukarıdaki cevap C için hala doğru olsa da, yeni C ++ standardı (C ++ 11) değiştirilmiştir, böylece C ++ ve C ++ 11 ile uyumlu bir derleyici kullanılıyorsa bu uyarının artık verilmemesi gerekir.
James'in gönderisiyle C ++ 11 standardından:
Boş olmayan ve yeni satır karakteri ile bitmeyen ya da herhangi bir ekleme yapılmadan hemen önce ters eğik çizgi karakteri ile başlayan yeni satır karakteri ile biten bir kaynak dosyası, dosyaya satır karakteri eklendi (C ++ 11 §2.2 / 1).
catbir dosya varsa ve yeni kabuk istemi dosyanın son satırından sonra (yani 0 sütununda değil) görüneceğinden sondaki satırsonu yoksa çok sinir bozucu