25 !


Dies ist die längste Folge unterschiedlicher Schlüsselwörter von C++, die in einem gültigen Programm auftreten kann. Zumindest ist es die längste, die wir gefunden haben. Das vollständige Programm ist:

#include <iostream.h>

struct X;
struct B {} b;
struct Y {} y;

void operator &=(B,B){}
int operator |= ( bool, Y& ) {return 1;}
Y& operator || ( X*x, const B&) { return y; }

struct X {
     int f()
     {
          if(0)
               return 0;

// --------------- all these *really* are reserved words! ---------------
        else        do          return      throw       sizeof
        true        bitor       compl       not         new
        const       volatile    unsigned    short       int
        not_eq      false       and         bitand      operator
        and_eq      or_eq       this        or          static_cast
// ----------------------------------------------------------------
                    <B&>(b), 0;
               while (1);
     }
};

int main() {
     try {
          X     x;
          x.f();
     } catch (int) {
          cout << "Hello world!\n";
     }
     return 0;
}



Erwin Unruh, 1. 1. 2002