Resultados da pesquisa a pedido "undefined-behavior"
sem_post, manipuladores de sinal e comportamento indefinido
Esse uso desem_post () em um manipulador de sinal confiar em comportamento indefinido? /* * excerpted from the 2017-09-15 Linux man page for sem_wait(3) * http://man7.org/linux/man-pages/man3/sem_wait.3.html */ ... sem_t sem; ... static void ...
Em que ordem as expressões de incremento à direita são avaliadas na declaração de atribuição? Está indefinido?
Recentemente, aprendi sobre comportamento indefinido em C, mas esse código específico foi usado em um site como exemplo de 'vírgula como operador' e, embora eu entenda como y = x ++ na linha 2, não entendo em que ordem as sub expressões na linha ...
É 1 << 31 bem definido em C quando sizeof (int) == 4
De acordo com a resposta paraestas perguntas [https://stackoverflow.com/questions/3784996/why-does-left-shift-operation-invoke-undefined-behaviour-when-the-left-side-oper] : O resultado deE1 << E2éE1deslocado para a esquerdaE2posições de bit; ...
Quando a conversão entre tipos de ponteiros não é um comportamento indefinido em C?
Como novato em C, estou confuso sobre quando lançar um ponteiro está realmente correto. Pelo que entendi, você pode praticamente converter qualquer tipo de ponteiro para qualquer outro tipo, e o compilador permitirá que você faça isso. ...
Misturando classe e estrutura
Eu estou bem ciente dodiferença entre classe e estrutura [https://stackoverflow.com/questions/54585/when-should-you-use-a-class-vs-a-struct-in-c] , no entanto, estou lutando para dizer com autoridade se isso está bem definido: // declare foo ...
Programa comportando-se estranhamente em IDEs on-line
Encontrei o programa C ++ abaixo (fonte [https://ideone.com/7F88MV]): #include <iostream> int main() { for (int i = 0; i < 300; i++) std::cout << i << " " << i * 12345678 << std::endl; }Parece um programa simples e fornece a saída correta na ...
Esse código em C se enquadra na categoria Comportamento indefinido?
a é uma matriz,foo é uma função ei é umint. a[++i] = foo(a[i-1], a[i]);O código acima teria umComportamento indefinido? Os índices da matriz++i, i-1 ei, são garantidos para estar no intervalo da matriz.
O comportamento indefinido realmente ajuda os compiladores modernos a otimizar o código gerado?
Os compiladores modernos não são inteligentes o suficiente para gerar um código rápido e seguro ao mesmo tempo? Veja o código abaixo: std::vector<int> a(100); for (int i = 0; i < 50; i++) { a.at(i) = i; } ...É óbvio que o erro fora de alcance ...
Diversão com variáveis não inicializadas e compilador (GCC)
A seção §3.9.1 / 6 do padrão C ++ diz: Os valores do tipo bool sãotrue oufalse. Agora considere este código, void f(bool b) { switch(b) //since b is bool, it's value can be either true or false! { case true: cout << "possible value - true"; ...
Comportamento indefinido no uso repetido do operador prefix ++
Eu li issoresponda [https://stackoverflow.com/a/4176333/6935629]sobre comportamento indefinido, onde vi a seguinte declaração: ++++++i; // UB, parsed as (++(++(++i)))Não acho que seja um comportamento indefinido. Eu tenho uma dúvida, é realmente ...