Pertanyaan yang diberi tag c++11

384
Apa itu std :: janji?

Saya cukup akrab dengan C ++ 11's std::thread, std::asyncdan std::futurekomponen (misalnya lihat jawaban ini ), yang lurus ke depan. Namun, saya tidak dapat memahami apa std::promiseitu, apa yang dilakukannya dan dalam situasi apa yang paling baik digunakan. Dokumen standar itu sendiri tidak...

369
C ++ template typedef

saya ada kelas template<size_t N, size_t M> class Matrix { // .... }; Saya ingin membuat typedefyang membuat Vector(kolom vektor) yang setara dengan Matrixdengan ukuran N dan 1. Sesuatu seperti itu: typedef Matrix<N,1> Vector<N>; Yang menghasilkan kesalahan kompilasi. Berikut...

367
Kompilasi C ++ 11 dengan g ++

Saya mencoba memperbarui kompiler C ++ saya ke C ++ 11. Saya telah mencari sedikit dan saya sampai pada kesimpulan bahwa saya harus menggunakan bendera -std=c++0xatau -std=gnu++0x, tetapi saya tidak tahu banyak hal tentang bendera. Ada yang bisa bantu saya? (Saya menggunakan Ubuntu 12.04.) Berikut...

367
Mengembalikan unique_ptr dari fungsi

unique_ptr<T>tidak mengizinkan pembuatan salinan, melainkan mendukung pemindahan semantik. Namun, saya dapat mengembalikan unique_ptr<T>dari fungsi dan menetapkan nilai yang dikembalikan ke variabel. #include <iostream> #include <memory> using namespace

356
Bagaimana cara mengaktifkan C ++ 11 di CMake?

Ketika saya mencoba menjalankan makefile CMake yang dihasilkan untuk mengkompilasi program saya, saya mendapatkan kesalahan itu rentang berbasis loop tidak didukung dalam mode C ++ 98. Saya mencoba menambahkan add_definitions(-std=c++0x)ke saya CMakeLists.txt, tetapi tidak membantu. Saya...

337
Kapan Anda harus menggunakan kemampuan constexpr di C ++ 11?

Tampak bagi saya bahwa memiliki "fungsi yang selalu mengembalikan 5" adalah memecah atau melemahkan arti "memanggil fungsi". Pasti ada alasan, atau kebutuhan untuk kemampuan ini atau itu tidak akan ada di C ++ 11. Kenapa disana? // preprocessor. #define MEANING_OF_LIFE 42 // constants: const int...

334
Untuk apa ruang nama sebaris?

C ++ 11 memungkinkan inline namespaces, semua anggota yang juga secara otomatis di dalam melampirkan namespace. Saya tidak dapat memikirkan aplikasi yang bermanfaat ini - dapatkah seseorang memberikan contoh singkat dan ringkas tentang situasi di mana suatu inline namespacedibutuhkan dan di mana...

321
C ++ 11 membalikkan range-based untuk-loop

Apakah ada adaptor wadah yang akan membalikkan arah iterator sehingga saya dapat beralih di atas wadah secara terbalik dengan range-for-loop berbasis? Dengan iterator eksplisit saya akan mengonversi ini: for (auto i = c.begin(); i != c.end(); ++i) { ... dalam hal ini: for (auto i = c.rbegin();...

294
Mulai utas dengan fungsi anggota

Saya mencoba untuk membangun std::threaddengan fungsi anggota yang tidak memerlukan argumen dan pengembalian void. Saya tidak dapat menemukan sintaks yang berfungsi - kompiler mengeluh tidak peduli apa. Apa cara yang benar untuk diterapkan spawn()sehingga mengembalikan std::threadyang dijalankan...

276
Perbedaan make_ shared dan normal shared_ptr di C ++

std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Banyak posting google dan stackoverflow ada di sini, tapi saya tidak bisa mengerti mengapa make_sharedlebih efisien daripada langsung menggunakan shared_ptr. Dapatkah...

271
Bagaimana "int main () {(([] () {}) ());}" C ++ valid?

Baru-baru ini saya menemukan potongan kode esoterik berikut. int main(){(([](){})());} Format ulang sebagai berikut untuk membuatnya lebih mudah dibaca: int main(){ (([](){})()); // Um... what?!?! } Tapi saya tidak bisa mengerti bagaimana (([](){})())kode yang valid. Itu tidak terlihat...

270
Mengapa C ++ tidak memiliki pengumpul sampah?

Saya tidak menanyakan pertanyaan ini karena manfaat pengumpulan sampah pertama-tama. Alasan utama saya untuk menanyakan hal ini adalah bahwa saya tahu bahwa Bjarne Stroustrup mengatakan bahwa C ++ akan memiliki pengumpul sampah di beberapa titik waktu. Dengan itu, mengapa belum ditambahkan? Sudah...