Domande taggate «undefined-behavior»

Il risultato imprevedibile della compilazione o dell'esecuzione di un programma che infrange le regole del linguaggio che né il compilatore, né l'interprete né il sistema di runtime devono applicare. NON UTILIZZARE questo tag per domande relative al tipo di dati o al valore restituito di "non definito". In questi casi, si dovrebbe usare invece il tag [non definito].





8
I rami con un comportamento indefinito possono essere considerati irraggiungibili e ottimizzati come codice morto?
Considera la seguente dichiarazione: *((char*)NULL) = 0; //undefined behavior Invoca chiaramente un comportamento indefinito. L'esistenza di una tale dichiarazione in un dato programma significa che l'intero programma è indefinito o che il comportamento diventa indefinito solo una volta che il flusso di controllo raggiunge questa affermazione? Il seguente programma sarebbe …






7
Come funziona il confronto dei puntatori in C? Va bene confrontare i puntatori che non puntano allo stesso array?
Nel capitolo 5 di K&R (The C Programming Language 2nd Edition) ho letto quanto segue: Innanzitutto, i puntatori possono essere confrontati in determinate circostanze. Se pe qpunto di membri della stessa matrice, i rapporti poi, come ==, !=, <, >=correttamente, ecc lavoro. Ciò sembra implicare che solo i puntatori che …

2
Strano comportamento con i campi di classe quando si aggiunge a uno std :: vector
Ho trovato un comportamento molto strano (su clang e GCC) nella seguente situazione. Ho un vettore, nodescon un elemento, un'istanza di classe Node. Quindi chiamo una funzione nodes[0]che aggiunge una nuova Nodeal vettore. Quando viene aggiunto il nuovo nodo, i campi dell'oggetto chiamante vengono resettati! Tuttavia, sembrano tornare alla normalità …




Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.