Pertanyaan yang diberi tag c++

89
Pretty-print std :: tuple

Ini adalah tindak lanjut dari pertanyaan saya sebelumnya tentang wadah STL dengan pencetakan cantik , yang untuknya kami berhasil mengembangkan solusi yang sangat elegan dan sepenuhnya umum. Pada langkah selanjutnya, saya ingin memasukkan pencetakan cantik untuk std::tuple<Args...>,...

89
bagaimana cara menyediakan fungsi swap untuk kelas saya?

Apa cara yang tepat untuk mengaktifkan swapalgoritma STL saya ? 1) Anggota swap. Apakah std::swapmenggunakan trik SFINAE untuk menggunakan anggota swap. 2) Berdiri bebas swapdi namespace yang sama. 3) Spesialisasi parsial std::swap. 4) Semua hal di atas. Terima kasih. EDIT: Sepertinya saya...

89
Apa yang akan 'std :;' lakukan di c ++?

Saya baru saja memodifikasi beberapa kode, dan menemukan bug yang sudah ada sebelumnya pada satu baris dalam suatu fungsi: std:;string x = y; Kode ini masih dikompilasi dan berfungsi seperti yang diharapkan. Definisi string berfungsi karena file ini using namespace std; , jadi sejak...

89
C ++ 11 emplace_back pada vektor <struct>?

Pertimbangkan program berikut: #include <string> #include <vector> using namespace std; struct T { int a; double b; string c; }; vector<T> V; int main() { V.emplace_back(42, 3.14, "foo"); } Tidak berhasil: $ g++ -std=gnu++11 ./test.cpp In file included from...

89
C ++ callback menggunakan anggota kelas

Saya tahu ini telah ditanyakan berkali-kali, dan karena itu sulit untuk menggali lebih dalam dan menemukan contoh sederhana tentang apa yang berhasil. Saya punya ini, sederhana dan berfungsi untuk MyClass... #include <iostream> using std::cout; using std::endl; class MyClass { public:...

89
Apa sebenarnya aturan "seolah-olah" itu?

Seperti judulnya, Apa sebenarnya aturan "seolah-olah" itu? Jawaban khas yang akan didapat adalah: Aturan yang memungkinkan setiap dan semua transformasi kode yang tidak mengubah perilaku program yang dapat diamati Dari waktu ke waktu kami terus mendapatkan perilaku dari implementasi...

89
Mengompilasi kode multithread dengan g ++

Saya memiliki kode termudah yang pernah ada: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } meskipun saya masih tidak...

89
Mengapa memmove lebih cepat daripada memcpy?

Saya menyelidiki hotspot kinerja dalam sebuah aplikasi yang menghabiskan 50% waktunya di memmove (3). Aplikasi ini memasukkan jutaan integer 4-byte ke dalam array yang diurutkan, dan menggunakan memmove untuk menggeser data "ke kanan" untuk memberi ruang bagi nilai yang disisipkan. Harapan saya...

89
Default, nilai dan nol inisialisasi berantakan

Saya sangat bingung tentang nilai- & default- & nol-inisialisasi. dan terutama ketika mereka menendang untuk standar yang berbeda C ++ 03 dan C ++ 11 (dan C ++ 14 ). Saya mengutip dan mencoba untuk memperluas jawaban yang sangat bagus Value- / Default- / Zero- Init C ++ 98 dan C ++ 03 di...

89
Berinteraksi dengan kelas C ++ dari Swift

Saya memiliki perpustakaan kelas yang signifikan yang ditulis dalam C ++. Saya mencoba memanfaatkannya melalui beberapa jenis penghubung dalam Swift daripada menulis ulang sebagai kode Swift. Motivasi utamanya adalah bahwa kode C ++ mewakili pustaka inti yang digunakan pada banyak platform....

89
Mengapa lambda memiliki ukuran 1 byte?

Saya bekerja dengan memori beberapa lambda di C ++, tapi saya agak bingung dengan ukurannya. Ini kode tes saya: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f <<...