Supongo que con sus ejemplos para std::vector<int>
y std::string
También quise cubrir los otros contenedores, por ejemplo, std::list<int>
, std::deque<int>
, etc. que tienen el mismo problema, obviamente, como std::vector<int>
. Del mismo modo, el int
no es el único tipo, ya que también se aplica a char
, short
, long
y ellos unsigned
Versión (posiblemente también algunos otros tipos integrales).
Creo que también hay std::valarray<T>
Pero no estoy seguro si T
se permite que sea de tipo integral. En realidad, creo que estos tienen una semántica diferente:
std::valarray<double>(0.0, 3);
std::valarray<double>{0.0, 3};
Hay algunas otras plantillas de clase C ++ estándar que toman una std::initializer_list<T>
Como argumento, pero no creo que ninguno de estos tenga un constructor sobrecargado que se usara al usar paréntesis en lugar de aparatos ortopédicos.