questo valore è zero o indefinito in C++?




nello specifico ho questo valore definito come parametro di una classe:

map<int, double> generalUttProb;


e da una funzione della classe vorrei chiamare ad esempio:

generalUttProb[666] ++;

è fattibile o devo prima settare generalUttProb[666]=0 (nel caso in c++ il valore degli interi è indefinito)?
e dato che gli indici che andrò adrò a inserire (ad esempio 666) sono più o meno casuali, come faccio a controllare se il valore generalUttProb[666] è già stato inizializzato a zero o se ancora nella struttura map non è stato inserito nessun valore all'indice 666?
(non credo sia lecito scrivere un if del tipo generalUttProb[666]==NULL)