Pertanyaan yang diberi tag «c++»

C ++ adalah bahasa pemrograman untuk tujuan umum. Awalnya dirancang sebagai ekstensi ke C dan memiliki sintaksis yang sama, tetapi sekarang bahasa yang sama sekali berbeda. Gunakan tag ini untuk pertanyaan tentang kode yang akan dikompilasi dengan kompiler C ++. Gunakan tag khusus versi untuk pertanyaan yang berkaitan dengan revisi standar spesifik [C ++ 11], [C ++ 14], [C ++ 17] atau [C ++ 20], dll.

10
jika pernyataan - evaluasi hubung singkat vs keterbacaan
Terkadang, sebuah ifpernyataan bisa jadi agak rumit atau panjang, jadi demi keterbacaan, lebih baik mengekstrak panggilan rumit sebelum if. misalnya ini: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } ke dalam ini bool b1 = SomeComplicatedFunctionCall(); bool b2 = OtherComplicatedFunctionCall(); if (b1 || b2) { //do stuff } (contoh …



2
Apa ini (( ))?
Saat menelusuri kode sumber kompilator gcc (gcc / c-family / c-pragma.c) saya melihat: typedef struct GTY(()) align_stack { int alignment; tree id; struct align_stack * prev; } align_stack; dan terlepas dari banyaknya tahun pemrograman C di belakang saya, bagian-bagian ini: (())sama sekali belum saya ketahui. Bisakah seseorang menjelaskan apa yang …
90 c++  c 


3
Cara membuat typedef bersyarat di C ++
Saya mencoba melakukan sesuatu seperti ini: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return 0; } tapi saya mendapatkan kesalahan ini: error: missing binary operator before token "(" Bagaimana saya …
90 c++  c++11 

3
<random> menghasilkan nomor yang sama di Linux, tetapi tidak di Windows
Kode di bawah ini dimaksudkan untuk menghasilkan daftar lima nomor pseudo-random dalam interval [1.100]. Saya menyemai default_random_enginedengan time(0), yang mengembalikan waktu sistem dalam waktu unix . Ketika saya mengkompilasi dan menjalankan program ini di Windows 7 menggunakan Microsoft Visual Studio 2013, ini berfungsi seperti yang diharapkan (lihat di bawah). Ketika …

2
GNU GCC (g ++): Mengapa menghasilkan banyak dtor?
Lingkungan berkembang: GNU GCC (g ++) 4.1.2 Ketika saya mencoba untuk menyelidiki bagaimana meningkatkan 'cakupan kode - terutama cakupan fungsi' dalam pengujian unit, saya telah menemukan bahwa beberapa dtor kelas tampaknya dibuat beberapa kali. Apakah beberapa dari Anda tahu mengapa? Saya mencoba dan mengamati apa yang saya sebutkan di atas …
90 c++  g++  destructor 



2
Apakah pengoptimalan floating-point ini diperbolehkan?
Saya mencoba untuk memeriksa di mana floatkehilangan kemampuan untuk secara tepat mewakili bilangan bulat besar. Jadi saya menulis cuplikan kecil ini: int main() { for (int i=0; ; i++) { if ((float)i!=i) { return i; } } } Kode ini sepertinya bekerja dengan semua kompiler, kecuali clang. Clang menghasilkan loop …


7
Kapan variabel statis tingkat fungsi dialokasikan / diinisialisasi?
Saya cukup yakin bahwa variabel yang dideklarasikan secara global dialokasikan (dan diinisialisasi, jika berlaku) pada waktu mulai program. int globalgarbage; unsigned int anumber = 42; Tapi bagaimana dengan yang statis yang didefinisikan dalam suatu fungsi? void doSomething() { static bool globalish = true; // ... } Kapan ruang untuk globalishdialokasikan? …
90 c++  variables 



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.