Resultados da pesquisa a pedido "undefined-behavior"

5 a resposta

"Sizeof (arr [0])" pode levar a um comportamento indefinido?

Existe um padrão bem conhecido de descobrir o comprimento da matriz: int arr[10]; size_t len = sizeof(arr) / sizeof(arr[0]); assert(len == 10);Esse padrão se aplica a matrizes estáticas e matrizes automáticas de tamanho constante. Também se ...

14 a resposta

Por que esse loop for encerrado em algumas plataformas e não em outras?

Recentemente, comecei a aprender C e estou tendo uma aula com C como disciplina. Atualmente, estou brincando com loops e estou tendo um comportamento estranho que não sei explicar. #include <stdio.h> int main() { int array[10],i; for (i = 0; i ...

2 a resposta

i = i ++; está indefinido. I = foo (i ++) também não está definido?

Por exemplo: int foo(int i) { return i; } int main() { int i = 0; i = i++; // Undefined i = foo(i++); // ? return 0; }O que o atual padrão ISO C ++ especificaria para este caso? EDITAR: Aqui é onde eu fico confuso: Exceto quando indicado, as ...

4 a resposta

Justificativa para comparações de ponteiros fora de uma matriz como UB

Portanto, o padrão (referindo-se aN1570 [http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf]) diz o seguinte sobre a comparação de ponteiros: C99 6.5.8 / 5 Operadores relacionais Quando dois ponteiros são comparados, o resultado depende ...

22 a resposta

Is uninitialized local variable the fastest random number generator?

Eu sei que a variável local não inicializada é um comportamento indefinido (UB), e também o valor pode ter representações de interceptação que podem afetar a operação adicional, mas às vezes eu quero usar o número aleatório apenas ...

1 a resposta

A comparação de ponteiros é um comportamento indefinido ou não especificado em C ++?

A linguagem de programação C ++, terceira edição da Stroustrup, diz que, Subtração de ponteiros é definida apenas quando ambos apontam para elementos da mesma matriz (embora a linguagem não tenha uma maneira rápida de garantir que seja esse o ...

2 a resposta

Usando o Sanitizer de comportamento indefinido do GCC

Hoje eu lium artigo [https://developers.redhat.com/blog/2014/10/16/gcc-u ndefined-behavior-sanitizer-ubsan/]sobreSanitizer de comportamento indefinido do GCC (ubsan). No entanto, quando sigo as etapas lá (adicione-fsanitize=undefined no meu ...

4 a resposta

As variáveis de ponteiro são apenas números inteiros com alguns operadores ou são "simbólicas"?

EDIT: A escolha da palavra original foi confusa. O termo "simbólico" é muito melhor que o original ("místico"). Na discussão sobre minha pergunta anterior sobre C ++, fui informado de que ponteiros são "um tipo de valor simples muito parecido ...

2 a resposta

O que Clang e GCC fazem quando `excluem` classes básicas com destruidores não virtuais?

Já existeuma pergunta [https://stackoverflow.com/q/4522994/1858225]perguntando sobre o comportamento "do mundo real" dedeleteinserir um ponteiro para uma classe base que não possui um destruidor virtual, mas a pergunta é restrita a um caso muito ...

12 a resposta

Is undefined behavior only an issue if you are deploying on several platforms?

A maioria das conversas em tornocomportamento indefinido(UB) falam sobre como existem algumas plataformas que podem fazer isso ou alguns compiladores fazem isso. E se você estiver interessado apenas em uma plataforma e apenas um ...