Yeni satır yoksa oluşabilecek bazı sorunları düşünün. ANSI standardına göre, #include
dosyanı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.h
ilk 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.cpp
yorumlandı. 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).
cat
bir 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