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).


3
Apa itu "referensi nilai untuk * ini"?
Datang di proposal yang disebut "referensi nilai untuk * ini" di halaman status C ++ 11 dentang . Saya sudah membaca sedikit tentang rvalue referensi dan memahaminya, tapi saya rasa saya tidak tahu tentang ini. Saya juga tidak dapat menemukan banyak sumber daya di web menggunakan istilah tersebut. Ada tautan …


1
std :: regresi kinerja vektor saat mengaktifkan C ++ 11
Saya telah menemukan regresi kinerja yang menarik dalam cuplikan C ++ kecil, ketika saya mengaktifkan C ++ 11: #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0; i < num_items; ++i) { container.push_back(Item()); …
235 c++  performance  gcc  c++11  vector 

4
Mengapa saya menggunakan push_back alih-alih emplace_back?
C ++ 11 vektor memiliki fungsi baru emplace_back. Tidak seperti push_back, yang bergantung pada optimisasi kompiler untuk menghindari salinan, emplace_backmenggunakan penerusan yang sempurna untuk mengirim argumen langsung ke konstruktor untuk membuat objek di tempat. Sepertinya saya yang emplace_backmelakukan segalanya push_backdapat melakukan, tetapi beberapa waktu itu akan melakukannya dengan lebih baik …
232 c++  c++11  std 


10
Apakah fungsi lambda dapat di-templated?
Di C ++ 11, apakah ada cara untuk templat fungsi lambda? Atau apakah secara inheren terlalu spesifik untuk dicampuri? Saya mengerti bahwa saya dapat mendefinisikan kelas templated klasik / functor sebagai gantinya, tetapi pertanyaannya lebih seperti: apakah bahasa mengizinkan templating fungsi lambda?
230 c++  templates  lambda  c++11 

4
Pointer jenis apa yang saya gunakan saat?
Ok, jadi terakhir kali saya menulis C ++ untuk mencari nafkah, std::auto_ptradalah semua std lib telah tersedia, dan boost::shared_ptrsemua adalah kemarahan. Saya tidak pernah benar-benar melihat ke dalam tipe penunjuk pintar lainnya yang disediakan. Saya mengerti bahwa C ++ 11 sekarang menyediakan beberapa tipe boost, tetapi tidak semuanya. Jadi apakah …

10
Perubahan apa yang diperkenalkan pada C ++ 11?
Saya tahu bahwa setidaknya salah satu perubahan dalam C ++ 11 yang akan menyebabkan beberapa kode lama berhenti dikompilasi: pengenalan explicit operator bool()di perpustakaan standar, menggantikan contoh lama dari operator void*(). Memang, kode yang akan dipecah ini mungkin kode yang seharusnya tidak valid di tempat pertama, tetapi tetap saja merupakan …
227 c++  c++11 




2
Mengapa saya tidak bisa push_back a unique_ptr ke vektor?
Apa yang salah dengan program ini? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Kesalahan: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) …

6
make_unique dan penerusan sempurna
Mengapa tidak ada std::make_uniquetemplat fungsi di pustaka C ++ 11 standar? saya menemukan std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); sedikit bertele-tele. Bukankah yang berikut ini akan jauh lebih baik? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Ini menyembunyikan yang newbaik dan hanya menyebutkan tipe sekali. Bagaimanapun, ini adalah upaya saya untuk implementasi …


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.