referencias en C++ son una construcción conveneint que nos permiten simplificar el siguiente código C:shared_ptr y referencias en C++
f(object *p){
//do something
}
int main(){
object* p = (object*) calloc(sizeof(object));
f(p);
}
a
f(object& o){
//do something
}
int main(){
object o = object();
f(o);
}
punteros compartidos son otra comodidad en C++ que simplifican la memoria administración. Sin embargo, no estoy seguro de cómo pasar un shared_ptr
a una función como f(object& o)
que acepta argumentos por referencia?
f(object& o){
//do something
}
int main(){
shared_ptr<object> p (new object());
f(*p);
}
¿El puntero compartido se incrementará cuando se pase su objeto por referencia a una función?
En lugar de 'object * p = (object *) calloc (sizeof (object));' debes usar 'object * p = new object();' para que se llame al constructor! (O puede 'calloc' luego placement-'new'.) – strager
Debe esperar unas pocas horas para que la gente tenga tiempo de encontrar y responder a su pregunta, o podrá usar el comando answer-shuffle, y la gente no tendrá una oportunidad de mejorar sus respuestas a través de comentarios-comentarios. Después de pensar que el polvo se ha asentado, seleccione la respuesta más útil. – GManNickG
Lo tendremos en cuenta en el futuro. ¡Gracias! – dzhelil