Pregunta simple solo por curiosidad.¿Qué es más eficiente/ordenado: borrar un stringstream existente o crear uno nuevo?
Múltiples métodos en una clase necesitan usar un stringstream, o específicamente un ostringstream.
1) tener una variable stringstream como un miembro de la clase y luego apenas claro él antes de usarlo es decir msg.str("")
2) Crear una nueva variable stringstream localmente en cada método cada vez que hay que usarla .
¿Cuál es la mejor manera de implementar esto, en términos de eficiencia y pulcritud?
Mi corazonada es la opción 1, pero no estoy seguro si la construcción inicial combinada con cada llamada a str() sería peor?
P.S. He leído y Initializing.. which one is more efficient?Which is quicker/more efficient?, mi siguiente paso sería que me miro en perfiles y escribir una pequeña aplicación de prueba, pero sentí que pide podría ser más rápido :-)
El problema con las preguntas es que las respuestas estarán llenas de religión y folclore y lo más probable es que no se apliquen a su situación. El perfilado debe ser preferido. – PlasmaHH
@PlasmaHH: el perfilado solo muestra el rendimiento ... si se hace bien. Preguntar también puede señalar otros defectos en algunos de los enfoques (relacionados con el aspecto "ordenado", por ejemplo). Dicho esto, solo puedo aceptar que la subjetividad es un riesgo. –
Y el problema con los perfiles es que responde a la pregunta sobre el entorno en el que se está ejecutando (si no lo rellena, los perfiles pueden ser difíciles de hacer bien), y no aprende sobre consistencia, portabilidad o corrección. cuestiones como James señaló .... –