Pertanyaan yang diberi tag «undefined-behavior»

Hasil kompilasi atau pelaksanaan program yang tidak dapat diprediksi yang melanggar aturan bahasa, baik kompiler, interpreter, maupun runtime-system tidak harus ditegakkan. JANGAN GUNAKAN tag ini untuk pertanyaan tentang tipe data atau mengembalikan nilai "tidak terdefinisi". Dalam kasus tersebut, tag [tidak terdefinisi] harus digunakan sebagai gantinya.






8
Dapatkah cabang dengan perilaku tidak terdefinisi diasumsikan tidak dapat dijangkau dan dioptimalkan sebagai kode mati?
Perhatikan pernyataan berikut: *((char*)NULL) = 0; //undefined behavior Ini jelas memunculkan perilaku yang tidak terdefinisi. Apakah adanya pernyataan seperti itu dalam program tertentu berarti bahwa keseluruhan program tidak terdefinisi atau bahwa perilaku hanya menjadi tidak terdefinisi begitu aliran kendali mencapai pernyataan ini? Apakah program berikut akan terdefinisi dengan baik jika …

10
Mengapa printf ("% f", 0); berikan perilaku yang tidak terdefinisi?
Pernyataan printf("%f\n",0.0f); mencetak 0. Namun demikian, pernyataan tersebut printf("%f\n",0); mencetak nilai acak. Saya menyadari bahwa saya menunjukkan semacam perilaku yang tidak jelas, tetapi saya tidak tahu mengapa secara spesifik. Nilai floating point di mana semua bitnya 0 masih valid floatdengan nilai 0. floatdan intberukuran sama pada mesin saya (bahkan jika …


10
Sign overflow di C ++ dan undefined behaviour (UB)
Saya ingin tahu tentang penggunaan kode seperti berikut ini int result = 0; int factor = 1; for (...) { result = ... factor *= 10; } return result; Jika loop berulang nkali, kemudian factordikalikan dengan waktu yang 10tepat n. Namun, factorhanya pernah digunakan setelah dikalikan 10total n-1kali. Jika kita …


7
Bagaimana perbandingan pembanding bekerja di C? Apakah boleh membandingkan pointer yang tidak menunjuk ke array yang sama?
Dalam K&R (The C Programming Language 2nd Edition) bab 5 saya membaca yang berikut: Pertama, pointer dapat dibandingkan dalam kondisi tertentu. Jika pdan qarahkan ke anggota array yang sama, hubungan itu seperti ==, !=, <, >=, dll bekerja dengan baik. Yang tampaknya menyiratkan bahwa hanya pointer yang menunjuk ke array …

2
Perilaku aneh dengan bidang kelas saat menambahkan ke std :: vector
Saya telah menemukan beberapa perilaku yang sangat aneh (pada dentang dan GCC) dalam situasi berikut. Saya punya vektor,, nodesdengan satu elemen, turunan dari kelas Node. Saya kemudian memanggil fungsi nodes[0]yang menambahkan baru Nodeke vektor. Ketika Node baru ditambahkan, bidang objek panggilan direset! Namun, mereka tampaknya kembali normal lagi setelah fungsi …

4
Menyalin struct dengan anggota yang tidak diinisialisasi
Apakah valid untuk menyalin struct beberapa yang anggotanya tidak diinisialisasi? Saya menduga itu adalah perilaku yang tidak terdefinisi, tetapi jika demikian, itu membuat meninggalkan anggota yang tidak diinisialisasi dalam sebuah struct (bahkan jika anggota tersebut tidak pernah digunakan secara langsung) sangat berbahaya. Jadi saya bertanya-tanya apakah ada sesuatu dalam standar …



Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.