Articles of Inicialização

Por que os membros da minha estrutura não foram inicializados corretamente usando `{}`?

Eu tinha o seguinte código: #include struct T { int a, b, c; }; int main() { T t = {0}; std::cout << ta << ',' << tb << ',' << tc << '\n'; } Saída : 0,0,0 Depois de muitos anos desse código funcionando alegremente em um ambiente de produção crítico, atendendo a uma […]

Significado da nova class (…) {{…}} idioma de boot

O que {{ … }} bloquear significa no código a seguir? class X { private Y var1; private X() { Z context = new Z(new SystemThreadPool()) {{ var1 = new Y(); }}; } }

Os ints são sempre inicializados em 0?

É seguro contar com int sempre sendo inicializado em 0 no Objective-C? Mais especificamente, quando um object com int ivars foi recentemente instanciado, é seguro assumir que seus ivars têm valor 0?

Variável de membro estático C ++ e sua boot

Para variables ​​de membro estático na class C ++ – a boot é feita fora da class. Eu quero saber porque? Qualquer raciocínio / restrição lógica para isso? Ou é uma implementação puramente legada – que a norma não quer corrigir? Eu acho que ter boot na class é mais “intuitivo” e menos confuso. Também […]

Encontrando problemas de ordem de boot estática do C ++

Ocorremos alguns problemas com o fiasco da ordem de boot estática e estamos procurando maneiras de vasculhar um monte de código para encontrar possíveis ocorrências. Alguma sugestão sobre como fazer isso de forma eficiente? Edit: Estou recebendo algumas boas respostas sobre como resolver o problema de ordem de boot estática, mas isso não é realmente […]

A boot implica conversão lvalue para rvalue? É int x = x; UB?

O padrão C ++ contém um exemplo semi-famoso de pesquisa de nome “surpreendente” em 3.3.2, “Ponto de declaração”: int x = x; Isso inicializa x com si mesmo, que (sendo um tipo primitivo) é não inicializado e, portanto, tem um valor indeterminado (supondo que seja uma variável automática). Isso é realmente um comportamento indefinido? De […]

Inicialização de uma ArrayList em uma linha

Eu quero criar uma lista de opções para fins de teste. No começo eu fiz isso: ArrayList places = new ArrayList(); places.add(“Buenos Aires”); places.add(“Córdoba”); places.add(“La Plata”); Então eu refatorei o código da seguinte forma: ArrayList places = new ArrayList( Arrays.asList(“Buenos Aires”, “Córdoba”, “La Plata”)); Existe uma maneira melhor de fazer isso?

Blocos de boot estática

Tanto quanto eu entendi o “bloco de boot estática” é usado para definir valores de campo estático, se não pode ser feito em uma linha. Mas eu não entendo porque precisamos de um bloco especial para isso. Por exemplo, declaramos um campo como estático (sem atribuição de valor). Em seguida, escreva várias linhas do código […]

O que é a boot do Double Brace em Java?

O que é a syntax de boot do Double Brace ( {{ … }} ) em Java?

O que as seguintes frases significam em C ++: zero, padrão e boot de valor?

O que as seguintes frases significam em C ++: boot zero, boot padrão e boot de valor O que um desenvolvedor de C ++ deve saber sobre eles?