Articles of boot

Criação de object na pilha / heap?

O código a seguir cria um object na pilha: Object o; Ao criar um object no heap, podemos usar: Object* o; o = new Object(); ao invés de: Object* o = new Object(); Quando dividimos a criação do object heap em duas linhas e chamamos o construtor na segunda linha ( o = new object() […]

C ++ 11: Corrigir a boot do std :: array?

Se eu inicializar um std :: array da seguinte maneira, o compilador me avisa sobre falta de chaves std::array a = {1, 2, 3, 4}; Isso corrige o problema: std::array a = {{1, 2, 3, 4}}; Esta é a mensagem de aviso: missing braces around initializer for ‘std::array::value_type [4] {aka int [4]}’ [-Wmissing-braces] Isso é […]

Por que não podemos inicializar membros dentro de uma estrutura?

Por que não podemos inicializar membros dentro de uma estrutura? exemplo: struct s { int i = 10; };

Quando o bloco estático de uma class é executado?

Eu tenho 2 flasks, vamos chamá-los de a.jar e b.jar. b.jar depende de um.jar. Em a.jar, eu defini uma class, vamos chamá-la de StaticClass. No StaticClass, eu defini um bloco estático, chamando um método chamado “init”: public class StaticClass { static { init(); } public void static init () { // do some initialization here […]

Quais variables ​​são inicializadas quando no Delphi?

Então eu sempre ouvi que os campos de class (baseados em heap) foram inicializados, mas as variables ​​baseadas em pilha não foram. Também ouvi dizer que os membros do registro (também baseados em pilha) também não foram inicializados. O compilador avisa que as variables ​​locais não foram inicializadas ([Aviso do DCC] A variável W1036 ‘x’ […]

Como inicializar a memory com o novo operador em C ++?

Eu só estou começando a entrar no C ++ e quero pegar alguns bons hábitos. Se eu tiver acabado de alocar uma matriz do tipo int com o new operador, como posso inicializá-los todos como 0 sem fazer o loop de todos eles sozinho? Devo usar apenas memset ? Existe uma maneira “C ++” de […]

Esta auto-boot é válida?

Eu tenho essa pergunta, que eu pensei antes, mas percebi que não é trivial responder int x = x + 1; int main() { return x; } Minha pergunta é se o comportamento do programa é definido ou indefinido se é válido. Se estiver definido, o valor de x conhecido no main ?

Devo me referir a self.property no método init com ARC?

Uma pergunta rápida. se eu tiver uma propriedade e um ivar declarado com o mesmo nome: no arquivo .h: (Reminder*)reminder; @property(nonatomic,strong)(Reminder*)reminder; no arquivo .m, devo usar o ivar ou a propriedade no método init se eu estiver usando o ARC? – (id)initWithReminder:(Reminder*)reminder_ { self = [super init]; if (self) { reminder = reminder_; } return […]

O C ++ 11 permite a boot em class de membros não estáticos e não-constantes. O que mudou?

Antes do C ++ 11, só podíamos executar a boot na class em membros estáticos constantes do tipo integral ou de enumeração. Stroustrup discute isso em seu C ++ FAQ , dando o seguinte exemplo: class Y { const int c3 = 7; // error: not static static int c4 = 7; // error: not […]

As variables ​​estáticas da function são thread-safe no GCC?

No código de exemplo void foo() { static Bar b; … } compilado com o GCC é garantido que b será criado e inicializado de uma maneira thread-safe? Na man page do gcc, encontrei a opção de linha de comando -fno-threadsafe-statics : Não emita o código extra para usar as rotinas especificadas na ABI C […]