Llamada por referencia vs argumento de puntero [duplicado]

Posible duplicado:
PREGUNTAS MÁS FRECUENTE: ¿Cómo pasar objetos a funciones en C ++?
Pointer vs. referencia

Hola a todos
en c / c ++, podemos pasar un objeto como llamada por referencia o pasar el puntero del objeto.
por ejemplo
i quiero crear una función que tomará el vector de cadena como entrada y salida de un mapa que contiene algún valor para cada cadena. el valor de retorno de la función es bool, que indica éxito o fracaso.

function (llamada por referencia)

bool calculateSomeValue( vector<string> input, map<string, double>& result)
{
//// bla bla bla
return true/false;
}

function (usando el puntero)

bool calculateSomeValue( vector<string> input, map<string, double>* result)
{
//// bla bla bla
return true/false;
}

¿cuál es el mejor? ¿Alguien tiene alguna idea de los pros y los contras de estas dos opciones?

gracias por adelantado

Respuestas a la pregunta(7)

Su respuesta a la pregunta