Tengo un miembro de la clase estática que es un poco de contenedor, comoLlenar un recipiente miembro estático en C++
(foo.h)
class Foo
{
...
private:
static list<string> s_List;
}
que necesito para llenar la lista con un número de valores específicos En realidad, debería ser también const, pero que podría complicar aún más el problema. Todas las funciones miembro de clase son estáticos, por lo que la inicialización en un constructor no tiene sentido.
Supongo que la suya es una solución más versátil, porque un miembro privado se puede inicializar sin ningún problema ... ¿y es posible que s_List sea const? Entonces init() debería devolver const list también. ¿Derecha? –
Maleev
Asimismo, desde el punto de vista del rendimiento: ¿no sería mejor volver una referencia a tmp, porque será coppied todos modos por el constructor de copia implícita (o operador de asignación, corríjanme) en la última línea? Entonces no lo coppied dos veces. Cualquier sutileza que no conté? – Maleev
sí, podría cambiarlo a una lista de const <>. sin embargo, no puede devolver una referencia ya que "tmp" es una variable local y morirá una vez que salga de init(). –