Resultados da pesquisa a pedido "initializer-list"

2 a resposta

Diferença entre as listas de inicializadores std :: vector e std :: array

Este código C ++ 11 funciona bem para mim: #include <iostream> #include <vector> #include <array> using namespace std; struct str { int first, last; }; vector<str> fields { {1,2}, {3,4}, {5,6} }; int main() { for (str s : fields) cout << s.first ...

2 a resposta

Por que existe uma regra de dedução de tipo especial para inicializadores automáticos e chaves no C ++ 11 / C ++ 14?

Em seu discurso no CppCon 2014"Dedução de tipo e por que você se importa" [https://www.youtube.com/watch?v=wQxj20X-tIU], Scott Meyers levanta a questão de por que existe uma regra especial sobreauto inicializadores entre chaves no padrão C ++ 11 ...

2 a resposta

Chamando o construtor initializer_list via make_unique / ma, ke_shared

Estou tentando usarstd::make_unique instanciar uma classe cujo construtor deve receber umstd::initializer_list. Aqui está um caso mínimo: #include <string> #include <vector> #include <initializer_list> #include <memory> struct Foo { ...

2 a resposta

Usando uma macro para inicializar uma grande variedade de elementos que não são de cópia

Estou tentando inicializar uma grande variedade de elementos com o mesmo inicializador. 64 elementos é apenas um exemplo - quero torná-lo pelo menos 16k. Infelizmente um simples let array : [AllocatedMemory<u8>; 64] = ...

2 a resposta

Forçando sobrecarga std :: vector em vez de sobrecarga int na lista com um elemento

Considere o código abaixo: #include <iostream> #include <vector> void f(std::vector<int> v) {std::cout << __PRETTY_FUNCTION__ << std::endl;} void f(int n) {std::cout << __PRETTY_FUNCTION__ << std::endl;} int main() { f({42}); // the int overload ...

2 a resposta

existem planos no padrão C ++ para tratar da inconsistência dos construtores da lista de inicializadores?

construtores de lista de inicializadores em C ++ geralmente causam problemas; por exemplo using std::vector; using std::string; vector<string> v{3}; // vector of three empty strings vector<int> u{3}; // vector of one element with value 3(Só ...

2 a resposta

Usando um literal definido pelo usuário em C ++ para inicializar uma matriz

Tenho vários vetores de teste, apresentados na forma de cadeias hexadecimais: MSG: 6BC1BEE22E409F96E93D7E117393172A MAC: 070A16B46B4D4144F79BDD9DD04A287C MSG: 6BC1BEE22E409F96E93D7E117393172AAE2D8A57 MAC: 7D85449EA6EA19C823A7BF78837DFADE etc. ...

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 ...

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 ...