Ayuda en C++ STL

Hola:
Me podeis exar una mano, sobre que diferencia hay entre estas dos implementaciones en la misma funcion. No para de darle vueltas.. y no lo se, yo crei q eran iguales ...y creo.
La cosa es que en la primera implementacion no me funciona correctamente como contructora de la clase y no se porq.... y la segunda si...
Yo quiero realizarlo mas al estilo de la primera implementacion...o esque no se peude?
Poravor una explicacion...un saludo y gracias. Pd: ¿Hay algo q no este haciendo bien en la primera?

1º Implementacion:

tablero::tablero(const pair<unsigned int,unsigned int>& par, const list<char>& bloques){
_tam=par; // _tam esta en la parte privada
list <char>::const_iterator il=bloques.begin();
pair <unsigned int, unsigned int> aux;

_matriz.reserve(_tam.first); //_matriz esta en la parte privada es un----> vector< vector<char> > _matriz;
for(unsigned int i=0;(i<_tam.first);i++){
_matriz[i].reserve(_tam.second);
}
for(unsigned int i=0;(i<_tam.first);i++){
for(unsigned int j=0;(j<_tam.second);j++){
_matriz[i][j]=*il;
il++;
}
}
}



2ºImplemetancion:
tablero::tablero(const pair<unsigned int,unsigned int>& par, const list<char>& bloques){
if(bloques.size()>0){
_tam=par;
for(unsigned int i=0;i<_tam.first;++i)
_matriz.push_back(vector<char>());
vector<vector<char> >::iterator it_fila=_matriz.begin();
list<char>::const_iterator it_bloques=bloques.begin();
for(unsigned int j=0;j<_tam.first;++j){
for(unsigned int j=0;j<_tam.second;++j){
it_fila->push_back(*it_bloques);
it_bloques++;
}
it_fila++;
}
}
}
Hombre Daicon, sería buena cosa que explicases que se supone que debe hacer el código y que problema tienes exáctamente. No compila, fallos de segmentación, cuelgues....
pues mira, no da ningun fallo de segmentacino ni cuelgue ni nada... simplemente cuando salgo de esa funcion, con la 1 implementacion si hago un cout para ver lo q tiene matriz, NO tiene NADA, sin embargo con la 2º implementacion si que tiene.
PERO, si hago un cout para reccorrer lo q tiene la funcion, ANTES de salir de ella, con cualquiera de las dos implementaciones, si que me aparecen los datos que le he metido...
Haber si me entiendes.
GRacias por contestar.
Un saludo
2 respuestas