Resultados da pesquisa a pedido "initializer-list"

7 a resposta

Como inicializar uma matriz de membros com uma initializer_lis

Estou atualizando o C ++ 0x e testando as coisas com o g ++ 4.6 Acabei de experimentar o código a seguir, pensando que funcionaria, mas não compila. Eu recebo o erro: incompatible types in assignment of ‘std::initializer_list<const int>’ to ...

3 a resposta

Inicializando uma estrutura que contém um vetor em si

Tenho um sistema de menus que quero inicializar a partir de dados constantes. UMAMenuItem pode conter, como submenu, um vetor deMenuItems. Mas isso só funciona até certo ponto. Aqui estão os ossos do problema: #include <vector> struct S { ...

6 a resposta

Inicializando a partir de uma lista de inicializadores, mas sem {{{{{{{{…}}}}}}}}}}

Eu tropeço recentemente em algum problema com as listas de inicializadores. Considere um programa que armazena dados semelhantes a mapas struct MyMapLike { MyMapLike(std::map<std::string, int> data) :data(std::move(data)) { } private: ...

2 a resposta

s modelos nem sempre adivinham os tipos de lista de inicializadores

#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 a resposta

Por que isso é considerado uma lista estendida de inicializadores?

#include <vector> struct foo { int i; int j; int k; }; int main() { std::vector<foo> v(1); v[0] = {0, 0, 0}; return 0; } Ao compilar isso usando g ++, recebo o seguinte aviso: warning: as listas estendidas de inicializadores estão disponíveis ...

4 a resposta

Exemplo de lista de inicializadores C ++ 0x

Gostaria de ver como este exemplo de código existente poderia tirar proveito do recurso da lista de inicializadores C ++ 0 Exemplo0: #include <vector> #include <string> struct Ask { std::string prompt; Ask(std::string ...

8 a resposta

O que poderia dar errado se a inicialização da lista de cópias permitisse construtores explícito

No padrão C ++, §13.3.1.7 [over.match.list], é indicado o seguinte: Na inicialização da lista de cópias, se umexplicit construtor é escolhido, a inicialização está mal formad Essa é a razão pela qual não podemos fazer, por exemplo, algo como ...

6 a resposta

Por que 'std :: vector <int> b {2};' criar um vetor de 1 elemento e não um de 2 elementos?

Eu brinco com o C ++ 11 nos últimos dias e criei algo estranho. Se quiser inicializar uniformemente um int: int a{5};Mas se eu fizer a mesma coisa com um std :: vector: std::vector<int> b{2}; Não constrói uma matriz de dois elementos, mas uma ...

2 a resposta

Usando multidimensional std :: initializer_list

Eu tenho uma pergunta sobre o uso de multidimensional std :: intializer_list em C ++. Eu tenho uma classe Matrix e quero inicializá-la assim: Matrix<int, 3, 3> m({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}); O construtor que tenho agora usa um argumento ...

6 a resposta

Quando usar o inicializador entre chaves?

No C ++ 11, temos essa nova sintaxe para inicializar classes, o que nos dá um grande número de possibilidades de como inicializar variávei { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); ...