¿En este caso sería indiferente verdad?, puesto que vector<victima> _victimas es fijo, cuando lo paso como parametro reserva memoria en el metodo, y si hago cambios fuera del método no afectan al argumento que he pasado ¿no?, distinto de si fuera un puntero.
Código
lista_victimas::lista_victimas(vector<victima> _victimas) { victimas = _victimas; //copy(_victimas.begin(), _victimas.end(), back_inserter(victimas)); }
Cuando acaba un método, sus parametros se borran de memoria ¿no?. En este caso, ¿que hago, igualar punteros contenidos o que?.
Código
void funcion(lista_victimas *_lista) lista_victimas lista; //añado miembros. mvictimas->lock(); _lista = new lista_victimas(lista.obtener_victimas()); mvictimas->unlock();
Ese código , asignaría en _lista otro puntero en la heap, pero que ocurriría con el que ya había.
Si en cambio igualo _lista = &lista; al perderse &lista al salir de la funcion que ocurriría con _lista despues?.
Saludos, estoy algo liado.