Pertanyaan yang diberi tag «c++11»

Gunakan tag ini untuk kode yang harus dikompilasi sebagai C ++ 11 (tidak menggunakan fitur apa pun yang diperkenalkan di C ++ 14 atau yang lebih baru).

4
Kapan membuat tipe tidak dapat dipindahkan di C ++ 11?
Saya terkejut ini tidak muncul di hasil pencarian saya, saya pikir seseorang akan menanyakan ini sebelumnya, mengingat kegunaan semantik bergerak di C ++ 11: Kapan saya harus (atau apakah sebaiknya saya) membuat kelas tidak dapat dipindahkan di C ++ 11? (Alasan lain selain masalah kompatibilitas dengan kode yang ada, yaitu.)


2
Tangkapan Lambda dan parameter dengan nama yang sama - siapa yang membayangi yang lain? (dentang vs gcc)
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0 dan yang lebih baru mencetak "Anda menggunakan clang ++!" dan peringatkan tentang tangkapan foo yang tidak digunakan. g ++ 4.9.0 dan yang lebih baru mencetak "Anda menggunakan g ++!" dan …

3
Apakah 1.0 merupakan keluaran yang valid dari std :: generate_canonical?
Saya selalu berpikir bilangan acak akan berada di antara nol dan satu, tanpa1 , yaitu nomor dari interval setengah terbuka [0,1). The dokumentasi pada cppreference.com dari std::generate_canonicalmenegaskan ini. Namun, ketika saya menjalankan program berikut: #include <iostream> #include <limits> #include <random> int main() { std::mt19937 rng; std::seed_seq sequence{0, 1, 2, 3, …
124 c++  c++11  random 

2
Apakah c ++ 11 lambda menangkap variabel yang tidak mereka gunakan?
Ketika saya menggunakan [=]untuk menunjukkan bahwa saya ingin semua variabel lokal ditangkap oleh nilai dalam lambda, apakah itu akan menghasilkan semua variabel lokal dalam fungsi yang disalin, atau hanya semua variabel lokal yang digunakan oleh lambda ? Jadi, misalnya, jika saya memiliki: vector<int> my_huge_vector(100000); int my_measly_int; some_function([=](int i){ return my_measly_int …
124 c++  lambda  c++11 

3
Menggunakan pointer ini menyebabkan deoptimisasi yang aneh di hot loop
Saya baru-baru ini menemukan deoptimisasi yang aneh (atau lebih tepatnya melewatkan peluang pengoptimalan). Pertimbangkan fungsi ini untuk pembongkaran array yang efisien dari bilangan bulat 3-bit menjadi bilangan bulat 8-bit. Ini membongkar 16 int di setiap iterasi loop: void unpack3bit(uint8_t* target, char* source, int size) { while(size > 0){ uint64_t t …

6
kesalahan: penggunaan fungsi yang dihapus
Saya telah mengerjakan beberapa kode C ++ yang telah ditulis seorang teman dan saya mendapatkan kesalahan berikut yang belum pernah saya lihat sebelumnya ketika mengkompilasi dengan gcc4.6: error: use of deleted function ‘GameFSM_<std::array<C, 2ul> >::hdealt::hdealt()’ is implicitly deleted because the default definition would be ill-formed: uninitialized non-static const member ‘const …


2
Bagaimana cara kerja std :: tie?
Saya telah menggunakan std::tietanpa terlalu memikirkannya. Ini berhasil jadi saya baru saja menerima bahwa: auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } Tapi bagaimana ilmu hitam ini bekerja? Bagaimana sementara dibuat …
120 c++  c++11  tuples 

2
menginisialisasi vektor ke nol C ++ / C ++ 11
Saya tahu di C ++ 11 mereka menambahkan fitur untuk menginisialisasi variabel ke nol seperti itu double number = {}; // number = 0 int data{}; // data = 0 Apakah ada cara yang sama untuk menginisialisasi a std::vectordari panjang tetap ke semua nol?
118 c++  c++11 

4
Bagaimana cara mengaktifkan C ++ 11 di gcc?
Saya menggunakan gcc 4.8.1 dari http://hpc.sourceforge.net di Mac OSX Mountain Lion. Saya mencoba untuk mengkompilasi program C ++ yang menggunakan to_stringfungsi di <string>. Saya perlu menggunakan bendera -std=c++11setiap saat: g++ -std=c++11 -o testcode1 code1.cpp Apakah ada cara untuk menyertakan tanda ini secara default?
117 c++11  g++ 


7
Legalitas implementasi COW std :: string di C ++ 11
Menurut pemahaman saya, copy-on-write bukanlah cara yang layak untuk mengimplementasikan kepatuhan std::stringdalam C ++ 11, tetapi ketika muncul dalam diskusi baru-baru ini saya mendapati diri saya tidak dapat secara langsung mendukung pernyataan itu. Apakah saya benar bahwa C ++ 11 tidak menerima implementasi berbasis COW std::string? Jika ya, apakah batasan …

1
Apakah async (launch :: async) di C ++ 11 membuat kumpulan thread menjadi usang untuk menghindari pembuatan thread yang mahal?
Ini terkait longgar dengan pertanyaan ini: Apakah std :: thread dikumpulkan dalam C ++ 11? . Meskipun pertanyaannya berbeda, tujuannya tetap sama: Pertanyaan 1: Apakah masih masuk akal untuk menggunakan kumpulan utas Anda sendiri (atau pustaka pihak ketiga) untuk menghindari pembuatan utas yang mahal? Kesimpulan dalam pertanyaan lain adalah bahwa …


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.