studio reales proyectos para libro introducción incluye herramientas fuente español desarrollo código con avanzado aplicaciones c++ struct std std-pair

c++ - reales - libro de android studio en español pdf



¿Cuál es la diferencia entre usar una estructura con dos campos y un par? (6)

Como esto no se menciona arriba, si desea los beneficios de su propio nombre, pero las ventajas de std :: pair (u otros objetos), puede usar (desde c ++ 11 en adelante). Puede configurar esto en su espacio de nombres o declaración de clase.

using myPair = pair<int,string>;

cf. Referencia de C ++ para más documentación.

¿Cuál es la diferencia con respecto a la asignación de memoria y la eficiencia entre el uso de una estructura con dos campos y un par?



En términos de asignación de memoria y eficiencia, no hay diferencia, ya que eso es exactamente lo que es un std::pair .


No hay diferencia en términos de asignación de memoria o eficiencia. De hecho, en la implementación de STL que estoy usando, el par se define como struct pair


std::pair proporciona constructores y operadores de comparación escritos previamente. Esto también les permite ser almacenados en contenedores como std :: map sin que usted tenga que escribir, por ejemplo, el constructor de copias o el orden débil estricto a través del operator < (tal como requiere std::map ). Si no los escribe, no puede cometer un error (¿recuerda cuán estricto funciona el orden débil?) Por lo que es más confiable solo usar std::pair .


std::pair viene con una cantidad de constructores y operadores.

Una struct permite campos con nombre (que no sean el first ni el second ) y está lista para extenderse en cualquier momento.

Prefiere una struct cuando puedas. Puede implicar algunos gastos generales, pero es definitivamente más fácil para el mantenimiento.