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>;
¿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?
Como se indica en std :: pair <int, int> vs struct con dos int, una estructura probablemente sea un poco más rápida porque no se realiza ninguna inicialización.
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.