Forum: Diğer Konular RSS
C++ fazladan ; kullanmak
erdem (Moderatör) #1
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: C++ fazladan ; kullanmak
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
 
    {
        const string mesaj = "Merhaba";
        cout << mesaj << endl;
        {
            const string mesaj = "Erdem";
            cout << mesaj << endl;
        }
        ;
        ;
        ;
    }
    return 0;
}

Bu şekilde bir kullanımın geçerli olması dikkatimi çekti  ;-)
ertseyhan #2
Üye Ock 2016 tarihinden beri · 1 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Sadece C++ değil, tüm C kökenli dillerde bu durum mevcut. Noktalı virgüller, alışılagelmiş kullanımlarının haricinde tekil olarak kullanıldıklarında Derleyici tarafında bir anlam teşkil etmiyorlar. Ardı ardına kullanımlarda kullanılan ilk noktalı virgül ifadeyi sonlandırırken, diğerleri anlamsız kalıyor. Bu durumda da Derleyici herhangi bir tepki vermeyerek es geçiyor.

{
  foo();;;; // İlk noktalı virgül'den sonrakiler anlamsızdır, es geçilir.
}
 
if(true) {
  ; // Tekil kullanımlarda da keza anlamsızdır ve es geçilir.
}

Birden fazla kullanımların anlam teşkil edeceği istisna durumlarda var elbette.
for(;;) {}

gibi..
acehreli (Moderatör) #3
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Noktalı virgülün boş ifade anlamına gelmesi hata kaynağı olduğundan ve Walter bu tür basit hataları önlemeye önem verdiğinden bunu D'de yasaklamıştır. Örneğin, aşağıdaki C++ kodundaki fazladan ; büyük olasılıkla hatadır. (Program tek 5 yazar.)
// C++ kodu
#include <iostream>
 
int main() {
    int i = 0;
    for ( ; i != 5; ++i);
        std::cout << i << '\n';
}
D'de bu derleme hatasıdır:
import std.stdio;
 
int main() {
    int i = 0;
    for ( ; i != 5; ++i);    // Error: use '{ }' for an empty statement, not a ';'
        writeln(i);
}
Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 15:23:02 (UTC -08:00)