Resultados de la búsqueda a petición "initializer-list"

3 la respuesta

Inicializando una estructura que contiene un vector de sí misma

Tengo un sistema de menú que quiero inicializar a partir de datos constantes. UNAMenuItem puede contener, como submenú, un vector deMenuItems. Pero solo funciona hasta cierto punto. Aquí están los aspectos básicos del problema: #include ...

6 la respuesta

Inicializando desde una lista de inicializadores, pero sin {{{{{{{…}}}}}}}}

Recientemente me topé con algún problema con las listas de inicializadores. Considere un programa que almacene datos similares a mapas struct MyMapLike { MyMapLike(std::map<std::string, int> data) :data(std::move(data)) { } private: ...

2 la respuesta

Las plantillas no siempre adivinan los tipos de lista de inicializador

#include <initializer_list> #include <utility> void foo(std::initializer_list<std::pair<int,int>>) {} template <class T> void bar(T) {} int main() { foo({{0,1}}); //This works foo({{0,1},{1,2}}); //This works bar({{0,1}}); //This warns ...

2 la respuesta

¿Por qué esto se considera una lista de inicializador extendida?

#include <vector> struct foo { int i; int j; int k; }; int main() { std::vector<foo> v(1); v[0] = {0, 0, 0}; return 0; } Al compilar esto usando g ++, recibo la siguiente advertencia: warning: las listas de inicializador extendidas solo están ...

4 la respuesta

Ejemplo de lista de inicializador de C ++ 0x

e gustaría ver cómo este ejemplo de código existente podría aprovechar la función de lista de inicializador de C ++ 0x. Ejemplo0: #include <vector> #include <string> struct Ask { std::string prompt; Ask(std::string a_prompt):prompt(a_prompt){} ...

8 la respuesta

Qué podría salir mal si copy-list-initialization permitiera constructores explícitos?

En el estándar C ++, §13.3.1.7 [over.match.list], se establece lo siguiente: In copy-list-initialization, si unexplicite elige @ constructor, la inicialización está mal formada. Esta es la razón por la que no podemos hacer, por ejemplo, algo ...

6 la respuesta

¿Por qué 'std :: vector <int> b {2};' crear un vector de 1 elemento y no uno de 2 elementos?

He estado jugando con C ++ 11 durante los últimos días, y se me ocurrió algo extraño. Si quiero inicializar uniformemente un int: int a{5}; Pero si le hago lo mismo a un std :: vector: std::vector<int> b{2}; No construye una matriz de dos ...

2 la respuesta

Utilizando std multidimensional :: initializer_list

Tengo una pregunta sobre el uso de std :: intializer_list multidimensional en C ++. Tengo una clase Matrix y quiero poder inicializarla así: Matrix<int, 3, 3> m({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}); El constructor que tengo ahora toma un ...

6 la respuesta

¿Cuándo usar el inicializador entre llaves?

En C ++ 11, tenemos esa nueva sintaxis para inicializar clases que nos da una gran cantidad de posibilidades sobre cómo inicializar variables. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> ...