Resultados da pesquisa a pedido "undefined-behavior"

3 a resposta

Comportamento indefinido causando viagens no tempo

Um exemplo deEste artigo [http://blogs.msdn.com/b/oldnewthing/archive/2014/06/27/10537746.aspx]de um blog msdn me fez mudar: Diz que esta função: void unwitting(bool door_is_open) { if (door_is_open) { walk_on_in(); } else { ring_bell(); // ...

2 a resposta

Quando a chamada de uma função de membro em uma instância nula resulta em um comportamento indefinido?

Considere o seguinte código: #include <iostream> struct foo { // (a): void bar() { std::cout << "gman was here" << std::endl; } // (b): void baz() { x = 5; } int x; }; int main() { foo* f = 0; f->bar(); // (a) f->baz(); // (b) }Nós esperamos(b) ...

8 a resposta

Qual é o caminho certo para encontrar a média de dois valores?

Recentemente eu aprendi que o excesso de número inteiro é um comportamento indefinido em C (questão secundária - também é UB em C ++?) Frequentemente, na programação C, você precisa encontrar a média de dois valoresa eb. No entanto ...

3 a resposta

GOTO antes da variável local

O seguinte trecho de código constitui um comportamento indefinido, pois estou pulando antes da declaração da variável e usando-a através de um ponteiro? Em caso afirmativo, existem diferenças entre os padrões? int main() { int *p = 0; label1: if ...

4 a resposta

O que acontece se você derereferir novo int?

O seguinte é seguro? *(new int);Eu recebo saída como0.

3 a resposta

A falha de segmentação é um comportamento indefinido real quando nos referimos a um membro de dados não estático

Eu li a regra a seguir e tenho tentado escrever um exemplo, que reflete um. A regra é da 3.8 / 5 N3797: Antes do início da vida útil de um objeto, mas após a alocação do armazenamento que o objeto ocupará ou, após o término da vida útil do ...

1 a resposta

Por que o código chamaria explicitamente um método estático por meio de um ponteiro nulo?

Eu já vi código assim em alguns projetos antigos: class Class { static void Method() {} }; ((Class*)0)->Method();Esse código contém um comportamento indefinido porque inclui o cancelamento de referência a um ponteiro nulo (não importa o que ...

2 a resposta

O comportamento `C == C ++` é indefinido?

Um amigo me diz que depois: int C = anything;C == C++ terá o valortrue. Isso é uma piada, uma refutação do tipo "C não é o mesmo que C ++". No entanto, desde== não é um ponto de sequência, eu argumento que esse é de fato um comportamento ...

3 a resposta

ponteiros pendentes realloc () e comportamento indefinido

Quando você libera memória, o que acontece com os ponteiros que apontam para essa memória? Eles se tornam inválidos imediatamente? O que acontece se depois eles se tornarem válidos novamente? Certamente, o caso usual de um ponteiro tornar-se ...

3 a resposta

Incrementando uma constante em C ++

Alguém pode me explicar como esse código funciona? Eu sinto que o compilador não deve permitir que eu faça o que fiz (mova um ponteiro int para apontar para uma const int) ou, alternativamente, pelo menos esperaria um aviso do compilador ou um ...