Pertanyaan yang diberi tag «language-lawyer»

Untuk pertanyaan tentang seluk-beluk spesifikasi bahasa dan lingkungan pemrograman formal atau otoritatif

4
Apakah referensi nol mungkin?
Apakah potongan kode ini valid (dan perilaku yang ditentukan)? int &nullReference = *(int*)0; Kedua g ++ dan dentang ++ kompilasi tanpa peringatan apapun, bahkan ketika menggunakan -Wall, -Wextra, -std=c++98, -pedantic, -Weffc++... Tentu saja referensi sebenarnya tidak null, karena tidak dapat diakses (itu berarti mendereferensi pointer nol), tetapi kita dapat memeriksa …

8
Apakah "else if" adalah kata kunci tunggal?
Saya baru mengenal C ++. Saya sering melihat pernyataan kondisional seperti di bawah ini: if statement_0; else if statement_1; Pertanyaan: Secara sintaksis , haruskah saya memperlakukan else ifsebagai kata kunci tunggal? Atau itu sebenarnya ifpernyataan bersarang di luar elseseperti di bawah ini? if statement_0; else if statement_1;


2
Apakah kode dari "The C ++ Programming Language" edisi ke-4 bagian 36.3.6 ini memiliki perilaku yang terdefinisi dengan baik?
Dalam Bjarne Stroustrup C ++ Bahasa Pemrograman bagian edisi 4 36.3.6 STL-seperti Operasi kode berikut digunakan sebagai contoh chaining : void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), 4, "only" ) …

8
Pemeran unsigned-to-signed yang efisien menghindari perilaku yang ditentukan oleh implementasi
Saya ingin mendefinisikan fungsi yang mengambil unsigned intargumen sebagai dan mengembalikan intmodulo UINT_MAX + 1 yang kongruen ke argumen. Upaya pertama mungkin terlihat seperti ini: int unsigned_to_signed(unsigned n) { return static_cast<int>(n); } Tapi seperti yang diketahui pengacara bahasa, casting dari unsigned ke signed untuk nilai yang lebih besar dari INT_MAX …


3
Kapan jenis informasi mengalir mundur di C ++?
Saya baru saja melihat Stephan T. Lavavej berbicara di CppCon 2018"Pengurangan Argumen Template Kelas", di mana pada titik tertentu dia secara tidak sengaja mengatakan: Dalam tipe C ++ informasi hampir tidak pernah mengalir ke belakang ... Saya harus mengatakan "hampir" karena ada satu atau dua kasus, mungkin lebih tetapi sangat …



3
Kapan saya harus menggunakan @classmethod dan when def method (self)?
Saat mengintegrasikan aplikasi Django yang belum pernah saya gunakan sebelumnya, saya menemukan dua cara berbeda yang digunakan untuk mendefinisikan fungsi di kelas. Penulis sepertinya menggunakan keduanya dengan sangat sengaja. Yang pertama adalah yang sering saya gunakan: class Dummy(object): def some_function(self,*args,**kwargs): do something here self is the class instance Yang lainnya …





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 …

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.