Articles of boot

Inicialização agregada de C ++ 11 para classs com inicializadores de membro não estático

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

Por que vejo valores estranhos ao imprimir variables ​​não inicializadas?

No código a seguir, a variável não possui valor inicial e imprimiu essa variável. int var; cout << var << endl; produção: 2514932 double var; cout << var << endl; produção: 1.23769e-307 Eu não entendo esses números de saída. Alguém pode explicar isso para mim?

Quando os membros da class C ++ estáticos são inicializados?

Parece não haver uma resposta fácil para isso, mas existem suposições que podem ser feitas com segurança sobre quando um campo de class estático pode ser acessado? EDIT: A única hipótese segura parece ser que todas as estáticas são inicializadas antes do início do programa (chamada para main ). Então, desde que eu não faça […]

Inicializando uma propriedade, notação de ponto

É uma má idéia usar a notação de ponto para inicializar as propriedades de retenção para nil em meus methods init? Com qualquer propriedade comum como esta: @property (nonatomic, retain) id foo; Digamos que no meu método init eu configurei self.foo = nil . O método sintetizado libera primeiro ou autoreleases foo (não exatamente certo […]

Quando as variables ​​estáticas são inicializadas?

Eu estou querendo saber quando variables ​​estáticas são inicializadas para seus valores padrão. É correto que, quando uma class é carregada, as variables ​​estáticas são criadas (alocadas) e, em seguida, as inicializações e as inicializações estáticas nas declarações são executadas? Em que ponto os valores padrão são fornecidos? Isso leva ao problema da referência futura. […]

Como posso usar uma matriz de pointers de function?

Como devo usar uma matriz de pointers de function em C? Como posso inicializá-los?

Por que o C ++ 11 não suporta listas de inicializadores designadas como C99?

Considerar: struct Person { int height; int weight; int age; }; int main() { Person p { .age = 18 }; } O código acima é legal em C99, mas não é legal em C ++ 11. Qual é a razão pela qual o C ++ 11 não suporta um recurso tão prático?

fiasco de ordem de boot estática

Eu estava lendo sobre SIOF de um livro e deu um exemplo: //file1.cpp extern int y; int x=y+1; //file2.cpp extern int x; int y=x+1; Agora minha pergunta é: No código acima, as seguintes coisas acontecerão? ao compilar file1.cpp, o compilador deixa y como é, isto é, não aloca armazenamento para ele. o compilador aloca armazenamento […]

Java: define termos de boot, declaração e atribuição

Eu acho os defs circulares, os assuntos são definidos pelos seus verbos, mas os verbos são indefinidos! Então, como você os define? As definições circulares boot: para inicializar uma variável. Isso pode ser feito no momento da declaração. atribuição: para atribuir valor a uma variável. Isso pode ser feito em qualquer lugar, apenas uma vez […]

Como emular a boot do array C “int arr = {e1, e2, e3,…}” comportamento com std :: array?

(Nota: Esta questão é sobre não ter que especificar o número de elementos e ainda permitir que tipos nesteds sejam inicializados diretamente.) Esta questão discute os usos deixados por um array C como int arr[20]; . Na sua resposta , @James Kanze mostra uma das últimas fortalezas dos arrays C, é uma característica única de […]