SORU
29 EYLÜL 2008, PAZARTESİ


Eğer kodu ne (() vesaire, 5) {}?

Aşağıdaki kodu C/C ne yapar ?

if ( blah(), 5) {
 //do something
}

CEVAP
29 EYLÜL 2008, PAZARTESİ


Eğer virgül operatörünü aşırı değilse, buna benzer bir kod

blah();
if (5) {
  // do something
}

Eğer virgül operatörünü aşırı, sonuç bu işlevine bağlı olacak.

#include <iostream>
#include <string>

using namespace std;

string blah()
{
    return "blah";
}

bool operator,(const string& key, const int& val) {
    return false;
}

int main (int argc, char * const argv[]) {

    if (blah(), 5) {
        cout << "if block";
    } else {
        cout << "else block";
    }

    return 0;
}

(virgül operatörü senaryo aşırı göstermek için düzenlenmiş. teşekkürler bu yorum için David Pierre)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • Metheud

    Metheud

    9 EYLÜL 2006