Resultados da pesquisa a pedido "aggregate-initialization"

2 a resposta

Quando um construtor privado não é um construtor privado?

Digamos que eu tenho um tipo e quero tornar seu construtor padrão privado. Eu escrevo o seguinte: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of ...

1 a resposta

Inicialização agregada do C ++ 11 para classes com inicializadores de membros não estáticos

É permitido no padrão: struct A { int a = 3; int b = 3; }; A a{0,1}; // ???Essa classe ainda é agregada?clang aceita esse código, masgcc não.

8 a resposta

Restrições de conversões em C ++ 0x. Sou apenas eu ou isso soa como uma mudança radical?

O C ++ 0x tornará mal formado o código a seguir e um código semelhante, pois requer o chamadorestrição de conversão de umdouble para umint. int a[] = { 1.0 };Gostaria de saber se esse tipo de inicialização é muito usado no código do mundo real. ...

6 a resposta

Inicializando uma matriz de membro no inicializador do construtor

class C { public: C() : arr({1,2,3}) //doesn't compile {} /* C() : arr{1,2,3} //doesn't compile either {} */ private: int arr[3]; };Eu acredito que a razão é que as matrizes podem ser inicializadas apenas com= sintaxe, ou seja: int arr[3] = ...

2 a resposta

uando a inicialização agregada é válida em C ++ 1

Digamos que temos o seguinte código: #include <iostream> #include <string> struct A { A() {} A(const A&) { std::cout << "Copy" << std::endl; } A(A&&) { std::cout << "Move" << std::endl; } std::string s; }; struct B { A a; }; int main() { ...

1 a resposta

Em um determinado local em uma lista agregada de inicialização, os valores passados para locais anteriores são seguros para serem lidos pelos membros correspondentes? [duplicado]

Esta pergunta já tem uma resposta aqui: É um comportamento definido fazer referência a um membro inicial de uma expressão de membro posterior durante a inicialização ...

2 a resposta

Brace elision na inicialização std :: array

Suponha que haja um

3 a resposta

Construtor padrão excluído. Objetos ainda podem ser criados ... às vezes

A visão ingênua, otimista e oh .. tão errada da sintaxe de inicialização uniforme do c ++ 11Eu pensei que, desde que os objetos do tipo C ++ 11 definidos pelo usuário devessem ser construídos com o novo{...} sintaxe em vez da antiga(...) sintaxe ...

1 a resposta

Posso referenciar membros anteriores de uma lista de inicializadores?

Digamos que eu queira me referir a um membro de uminitializer_list que eu já defini. Posso fazer isso? Esse código compila e fornece o esperado: "13 55" no Visual Studio egcc [http://ideone.com/ntPcVl], Gostaria de saber que é legal: const int ...