Pasar por referencia o puntero en C: un principio rector
En C, comprender cuándo emplear el paso por referencia y cuándo usar punteros es crucial. Esta práctica puede conducir a un código eficiente y libre de errores.
Situaciones generales
Pasar un std::string a una función:
Pasar un tr1::shared_ptr a una función:
Puntos frente a referencias
Pasar por referencia ofrece coherencia, ya que cada objeto puede tratarse como una referencia. Sin embargo, pasar por puntero proporciona la flexibilidad para manejar nullptrs y literales.
Análisis de fragmentos
El fragmento proporcionado:
map> > adjacencyMap; vector * myFriends = new vector (); myFriends->push_back(string("a")); myFriends->push_back(string("v")); myFriends->push_back(string("g")); adjacencyMap["s"] = shared_ptr >(myFriends);
destaca la necesidad de considerar las propiedades tanto de las referencias como de los punteros:
Regla general
En última instancia, la elección adecuada depende de los requisitos específicos. Como principio rector, considere:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3