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.

8
Tangkapan Lambda sebagai referensi const?
Apakah mungkin untuk menangkap dengan referensi const dalam ekspresi lambda? Saya ingin tugas yang ditandai di bawah gagal, misalnya: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string = "foo"; …
166 c++  c++11  lambda  c++14 

2
menunjukkan "lompatan kondisional atau bergerak tergantung pada nilai valgrind yang tidak diinisialisasi"
Jadi saya telah mendapatkan beberapa pesan nilai misterius yang tidak diinisialisasi dari valgrind dan sudah cukup misteri dari mana nilai buruk itu berasal. Tampaknya valgrind menunjukkan tempat di mana nilai unitialised akhirnya digunakan, tetapi bukan asal dari nilai yang tidak diinisialisasi. ==11366== Conditional jump or move depends on uninitialised value(s) …
166 c++  valgrind 


1
Kesalahan fungsi anggota statis; Bagaimana cara menulis tanda tangan dengan benar?
Saya mendapatkan kesalahan ketika mencoba mengkompilasi kode saya di g ++ menggunakan tanda tangan saat ini: cannot declare member function static void Foo::Bar(std::ostream&, const Foo::Node*) to have static linkage Pertanyaan saya ada dua: Mengapa tidak kompilasi dengan cara ini? Apa tanda tangan yang benar, dan mengapa? Tanda tangan selalu menjadi …

9
Mengapa volatile tidak dianggap berguna dalam pemrograman multithread C atau C ++?
Seperti ditunjukkan dalam jawaban ini yang baru-baru ini saya posting, saya tampaknya bingung tentang utilitas (atau ketiadaan) volatiledalam konteks pemrograman multi-threaded. Pemahaman saya adalah ini: setiap kali suatu variabel dapat diubah di luar aliran kontrol sepotong kode yang mengaksesnya, variabel itu harus dinyatakan volatile. Penangan sinyal, register I / O, …


11
Apakah idiom pImpl benar-benar digunakan dalam praktik?
Saya membaca buku "Exceptional C ++" oleh Herb Sutter, dan dalam buku itu saya telah belajar tentang idiom pImpl. Pada dasarnya, idenya adalah membuat struktur untuk privateobjek a classdan mengalokasikannya secara dinamis untuk mengurangi waktu kompilasi (dan juga menyembunyikan implementasi pribadi dengan cara yang lebih baik). Sebagai contoh: class X …
165 c++  oop  pimpl-idiom 


14
Bagaimana cara debug tumpukan kesalahan korupsi?
Saya men-debug aplikasi C ++ multi-threaded (asli) di bawah Visual Studio 2008. Pada kesempatan yang tampaknya acak, saya mendapatkan kesalahan "Windows telah memicu break point ..." dengan catatan bahwa ini mungkin disebabkan oleh korupsi di tumpukan. Kesalahan-kesalahan ini tidak akan selalu membuat aplikasi crash segera, meskipun kemungkinan akan crash segera …
165 c++  windows  debugging  heap 

9
Apakah ada pengganti unistd.h untuk Windows (Visual C)?
Saya porting program konsol yang relatif sederhana yang ditulis untuk Unix ke platform Windows ( Visual C ++ 8.0 ). Semua file sumber termasuk "unistd.h", yang tidak ada. Menghapusnya, saya mendapat keluhan tentang melewatkan prototipe untuk 'srandom', 'acak', dan 'getopt'. Saya tahu saya bisa mengganti fungsi acak, dan saya cukup …
165 c++  c  windows  portability  unistd.h 



12
Belum pernah terlihat sebelumnya C ++ for loop
Saya mengonversi algoritma C ++ ke C #. Saya menemukan ini untuk loop: for (u = b.size(), v = b.back(); u--; v = p[v]) b[u] = v; Ini tidak memberikan kesalahan dalam C ++, tetapi tidak di C # (tidak dapat mengkonversi int ke bool). Saya benar-benar tidak tahu ini …
164 c#  c++  for-loop 



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.