Ho lavorato un po' con code blocks per il c++ ma poi ho preferito avere tutto in un unico IDE che è eclipse, mi sa che tornerò a quello!
Guarda, nemmeno in C++ ho mai definito prima le variabili...volevo più che altro capire il perchè di tale scelta!Il linguaggio è compilato, quindi non c'è nessun overhead a creare variabili in mezzo al codice: il compilatore trova da sè le definizioni di variabili e nel programma generato sistema le cose in modo di allocarle sullo stack all'ingresso della funzione.
E' a mio avviso una forzatura perché, per l'appunto, forza una certa organizzazione del codice che non sempre potrebbe far piacere.