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.

20
Cara mudah memetakan enum c ++ ke string
Saya memiliki banyak jenis enum di beberapa file header perpustakaan yang saya gunakan, dan saya ingin memiliki cara untuk mengonversi nilai enum menjadi string pengguna - dan sebaliknya. RTTI tidak akan melakukannya untuk saya, karena 'string pengguna' harus sedikit lebih mudah dibaca daripada enumerasi. Solusi brute force akan menjadi sekumpulan …
119 c++  templates  enums 


1
Fungsi template di dalam kelas template
Saya memiliki kode ini: template <class T> class MyClass { public: template <class U> void foo() { U a; a.invoke(); } }; Saya menginginkannya dalam bentuk ini: template <class T> class MyClass { public: template <class U> void foo(); }; template <class T> /* ????? */ void MyClass<T>::foo() { U …
119 c++  templates 


1
Apa cara idiomatis dalam CMAKE untuk menambahkan opsi kompilator -fPIC?
Saya telah menemukan setidaknya 3 cara untuk melakukan ini dan saya bertanya-tanya mana yang merupakan cara idiomatik. Ini perlu dilakukan hampir secara universal untuk semua perpustakaan statis. Saya terkejut bahwa generator Makefile di CMake tidak secara otomatis menambahkan ini ke pustaka statis. (kecuali saya melewatkan sesuatu?) target_compile_options(myLib PRIVATE -fPIC) add_compile_options(-fPIC) …
119 c++  c  cmake 



6
Mendeteksi apakah stdin adalah terminal atau pipa?
Ketika saya mengeksekusi " python" dari terminal tanpa argumen, ia menampilkan shell interaktif Python. Saat saya mengeksekusi " cat | python" dari terminal, mode interaktif tidak diluncurkan. Entah bagaimana, tanpa mendapatkan masukan apa pun, ia telah mendeteksi bahwa ia terhubung ke pipa. Bagaimana saya melakukan deteksi serupa di C atau …
118 c++  c  qt  pipe  stdin 

9
Seberapa jauh kebocoran memori bisa terjadi?
Saya sering mengalami kebocoran memori. Biasanya saat aku malloc-ing seperti tidak ada hari esok, atau tergantungFILE * seperti cucian kotor. Saya biasanya berasumsi (baca: berharap dengan putus asa) bahwa semua memori dibersihkan setidaknya ketika program berakhir. Adakah situasi di mana memori yang bocor tidak akan dikumpulkan saat program dihentikan, atau …
118 c++  c  memory  memory-leaks 


5
Bagaimana cara kerja `is_base_of`?
Bagaimana cara kerja kode berikut? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> static yes check(D*, T); static no check(B*, int); static const bool value = sizeof(check(Host<B,D>(), …

8
Apakah ada petunjuk kompiler untuk GCC untuk memaksa prediksi cabang agar selalu berjalan ke arah tertentu?
Untuk arsitektur Intel, apakah ada cara untuk menginstruksikan compiler GCC untuk menghasilkan kode yang selalu memaksa prediksi cabang dengan cara tertentu dalam kode saya? Apakah perangkat keras Intel mendukung ini? Bagaimana dengan kompiler atau perangkat keras lain? Saya akan menggunakan ini dalam kode C ++ di mana saya tahu kasus …

13
remove_if setara dengan std :: map
Saya mencoba menghapus berbagai elemen dari peta berdasarkan kondisi tertentu. Bagaimana cara melakukannya menggunakan algoritma STL? Awalnya saya berpikir untuk menggunakan remove_iftetapi tidak mungkin karena remove_if tidak berfungsi untuk wadah asosiatif. Apakah ada algoritme setara "remove_if" yang berfungsi untuk peta? Sebagai opsi sederhana, saya berpikir untuk mengulang melalui peta dan …
118 c++  stl  map 

10
Pimpl idiom vs antarmuka kelas virtual murni
Saya bertanya-tanya apa yang membuat seorang programmer memilih idiom Pimpl atau kelas virtual murni dan warisan. Saya memahami bahwa idiom pimpl hadir dengan satu tipuan ekstra eksplisit untuk setiap metode publik dan overhead pembuatan objek. Kelas virtual murni di sisi lain hadir dengan indireksi implisit (vtable) untuk implementasi yang mewarisi …

27
CMake tidak menemukan kompiler Visual C ++
Setelah menginstal Visual Studio 2015 dan menjalankan CMake pada proyek sebelumnya, kesalahan CMake menyatakan bahwa ia tidak dapat menemukan compiler C. The C compiler identification is unknown The CXX compiler identification is unknown CMake Error at CMakeLists.txt:4 (PROJECT): No CMAKE_C_COMPILER could be found. CMake Error at CMakeLists.txt:4 (PROJECT): No CMAKE_CXX_COMPILER …

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.