Resultados da pesquisa a pedido "undefined-behavior"
Em C, se eu lançar e desreferenciar um ponteiro, importa qual deles primeiro?
Em C, você pode converter dois tipos de dados simples, comoint, floate ponteiros para eles. Agora, eu teria assumido que, se você deseja converter de um ponteiro para um tipo no valor de outro tipo (por exemplo, de*float paraint), a ordem ...
Matriz de acesso além do limite em C e C ++
int data[8]; data[9] = 1;O que o padrão c ++ diz sobre isso? Esse comportamento é indefinido? Pelo menos o compilador C (gcc -std = c99 -pedantic -W -Wall) não diz nada sobre isso. Obrigado.
Existem casos em que o downcasting de uma base real para um derivado seria definido?
No caso geral, é (um comportamento muito bem merecido) indefinido a transmissão de um (dinâmico)Base para uma das classes derivadasDerived O óbvio UBclass Base { public: virtual void foo() { /* does something */ } int a; } class Derived : public ...
É um comportamento seguro e definido transmutar entre um T e um UnsafeCell <T>?
A pergunta recente [https://stackoverflow.com/q/50425910/155423]estava procurando a capacidade de construir estruturas auto-referenciais. Ao discutir possíveis respostas para a pergunta, uma resposta potencial envolvia o uso de um UnsafeCell ...
O que significa o código "* ((char *) - 1) = 'x';"?
Eu tive um problema ao ler o código fonte redis, alguém pode me dizer qual é o uso da última instrução no_redisAssert função emdebug.c: *((char*)-1) = 'x';
Pontos de sequência e efeitos colaterais: Mudança silenciosa no C11?
C99 §6.5Expressões (1) Uma expressão é uma sequência de operadores e operandos que especifica a computação de um valor, ou que designa um objeto ou uma função, ou que gera efeitos colaterais, ou que executa uma combinação dos mesmos. (2) Entre ...
Observable behavior and undefined behavior — What happens if I don't call a destructor?
Nota: Eu já vi perguntas semelhantes, mas nenhuma das respostas é precisa o suficiente, então eu mesmo estou fazendo isso. Esta é uma pergunta muito "exigente" do advogado da linguagem; Estou procurando uma resposta autorizada.O padrão C ++ ...
É a = 0; b = (a ++, a + 1); comportamento indefinido (UB)?
veja exemplo simples: int a = 0; int b = (a ++ , a + 1); // result of b is UB or well defined ? (c++03).Isso foi alterado em c ++ 11 / c ++ 14?
Esse comportamento indefinido no C ++ chama uma função de um ponteiro pendente
Surgiu uma pergunta no SO perguntando "Por que isso está funcionando" quando um ponteiro ficou pendurado? As respostas foram que é UB, o que significa que pode funcionar ou não. Eu aprendi em um tutorial que: #include <iostream> struct Foo { ...
Diferença entre comportamento indefinido e mal formado, nenhuma mensagem de diagnóstico necessária
O padrão C ++ vem com um número impressionante de definições parapouco claro1 comportamento que significa mais ou menos o mesmo com diferenças sutis. Lendo esta resposta [https://stackoverflow.com/a/22177425/572743], Notei a redação"o programa ...