Resultados da pesquisa a pedido "undefined-behavior"

4 a resposta

É um comportamento definido fazer referência a um membro inicial de uma expressão de membro posterior durante a inicialização agregada?

Considere o seguinte: struct mystruct { int i; int j; }; int main(int argc, char* argv[]) { mystruct foo{45, foo.i}; std::cout << foo.i << ", " << foo.j << std::endl; return 0; } Observe o uso defoo.i na lista agregador-inicializador. g++ 5.2.0 ...

1 a resposta

Comportamento indefinido ou: Swift tem pontos de sequência?

Em C / C ++, a segunda instrução em int i = 0; int j = i++ + i++ + ++i;invoca ambos comportamento não especificado, porque a ordem de avaliação dos operandos não é especificada ecomportamento indefinido, porque os efeitos colaterais no ...

2 a resposta

A passagem de um objeto C ++ para seu próprio construtor é legal?

Surpreende-me descobrir acidentalmente que o seguinte funciona: #include <iostream> int main(int argc, char** argv) { struct Foo { Foo(Foo& bar) { std::cout << &bar << std::endl; } }; Foo foo(foo); // I can't believe this works... std::cout << ...

1 a resposta

É ilegal usar os modificadores h ou hh length quando o argumento correspondente a printf não era um short / char?

oprintf A família de funções fornece uma série de modificadores de comprimento, sendo dois deleshh (denotando umsigned char ouunsigned char argumento promovido paraint) eh (denotando umsigned short ouunsigned short argumento promovido paraint) ...

4 a resposta

Bug de compilação em C ++?

Eu tenho o seguinte código: #include <iostream> #include <complex> using namespace std; int main() { complex<int> delta; complex<int> mc[4] = {0}; for(int di = 0; di < 4; di++, delta = mc[di]) { cout << di << endl; } return 0; }Espero que ...

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 ...

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 ...

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

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 ...

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 ...