Incomprensioni

“Dài ho chiamato delete, ma mica dicevo sul serio!”


int aFunction ()
{
  MyClass * mc = new MyClass();

  // fai qualcosa con mc
  delete mc;
  return mc->anIntField;
}

Il break, questo sconosciuto…

Quasi mi dimenticavo di pubblicare questa perla:


for (i=0; i<maxI; i++) {
  for(j=0; j<maxJ; j++) {
    if( /*[... condizione omessa ]*/ ) {
      /* [...] fai qualcosa di speciale che va fatto quando la condizione si verifica */
      goto nexti;
    }
  }
     nexti : ;
}

Gli Etruschi e il confronto di stringhe

Raro esempio di esplosione combinatoriale applicata al confronto di stringhe, il fortuito ritrovamento proviene da un antico insediamento etrusco.

bool match(const std::string& s)
{
  bool trovatoMatch = false;

  if ((s == "ABC") || (s == "aBC") || (s == "AbC") ||
    (s == "ABc") || (s =="abC") || (s == "aBc") ||
    (s == "Abc") || (s == "abc") ) {
    trovatoMatch = true;
  }

return trovatoMatch;
}