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.

5
Titik perilaku dan urutan yang tidak ditentukan
Apa itu "titik urut"? Apa hubungan antara perilaku yang tidak ditentukan dan titik urut? Saya sering menggunakan ekspresi lucu dan berbelit-belit seperti a[++i] = i;, untuk membuat diri saya merasa lebih baik. Mengapa saya harus berhenti menggunakannya? Jika Anda sudah membaca ini, pastikan untuk mengunjungi pertanyaan tindak lanjut Perilaku tidak …




5
Apakah standar C ++ memungkinkan bool yang tidak diinisialisasi untuk crash suatu program?
Saya tahu bahwa "perilaku tidak terdefinisi" di C ++ dapat memungkinkan kompilator melakukan apa pun yang diinginkannya. Namun, saya mengalami crash yang mengejutkan saya, karena saya berasumsi bahwa kode itu cukup aman. Dalam kasus ini, masalah sebenarnya hanya terjadi pada platform tertentu menggunakan kompiler tertentu, dan hanya jika optimasi diaktifkan. …




5
Mengapa perilaku integer overflow unsigned didefinisikan tetapi integer overflow yang ditandatangani tidak?
Overflow integer yang tidak ditandai didefinisikan dengan baik oleh standar C dan C ++. Misalnya, standar C99 ( §6.2.5/9) menyatakan Suatu perhitungan yang melibatkan operan tak bertanda tidak pernah dapat meluap, karena hasil yang tidak dapat diwakili oleh tipe integer tak bertanda yang dihasilkan dikurangi modulo angka yang satu lebih …

11
Apa saja perilaku umum yang tidak terdefinisi yang harus diketahui oleh seorang programmer C ++? [Tutup]
Sulit mengatakan apa yang ditanyakan di sini. Pertanyaan ini ambigu, kabur, tidak lengkap, terlalu luas, atau retoris dan tidak dapat dijawab secara wajar dalam bentuknya saat ini. Untuk bantuan mengklarifikasi pertanyaan ini sehingga dapat dibuka kembali, kunjungi pusat bantuan . Ditutup 7 tahun yang lalu . Terkunci . Pertanyaan ini …

5
Mengapa loop ini menghasilkan "peringatan: iterasi 3u memohon perilaku yang tidak terdefinisi" dan menghasilkan lebih dari 4 baris?
Kompilasi ini: #include <iostream> int main() { for (int i = 0; i < 4; ++i) std::cout << i*1000000000 << std::endl; } dan gccmenghasilkan peringatan berikut: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] std::cout << i*1000000000 << std::endl; ^ Saya mengerti ada bilangan bulat ditandatangani ditandatangani. Yang tidak bisa saya …

8
Mengoptimalkan "sementara (1);" dalam C ++ 0x
Diperbarui, lihat di bawah! Saya telah mendengar dan membaca bahwa C ++ 0x memungkinkan kompiler untuk mencetak "Halo" untuk cuplikan berikut #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } Tampaknya ada hubungannya dengan utas dan kemampuan pengoptimalan. Sepertinya bagi saya ini bisa mengejutkan banyak orang. …




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.