¿Hay un objeto función incorporada que devuelve p->first
y p->second
, por lo que con mucho gusto puedo escribirC++ objeto de función para volver `p> first` y` p> second`
transform(m.begin(),m.end(),back_inserter(keys),get_first);
transform(m.begin(),m.end(),back_inserter(vals),get_second);
solución basada en STL es la mejor, la solución boost
es la segunda mejor opción.
Sí, sé boost::lambda
, no quiero comenzar a usarlo.
Parece que has se dio cuenta de que no existe soporte directo en el STL (o supuestamente impulso), ¿por qué no escribir una plantilla de función simple para hacer esto por usted? está obligado a ser más claro que el enfoque 'bind' o el enfoque no estándar ... – Nim
@Nim, esa es probablemente una buena idea, sin embargo, siempre tengo miedo de que todos en el equipo creen su propia versión de 'littleTidbitMissingFromSpec', así que si pudiera encontrar algo sólido en boost, sería mejor. –
¡un espacio de nombres utils (o aux) bien documentado es lo que necesita! ;) – Nim