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


14
Fungsi lambda rekursif dalam C ++ 11
Saya baru mengenal C ++ 11. Saya menulis fungsi lambda rekursif berikut, tetapi tidak mengkompilasi. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) return 0; …
143 c++  c++11  lambda 

6
Hasilkan nomor acak menggunakan pustaka acak C ++ 11
Seperti judulnya, saya mencoba mencari cara untuk menghasilkan angka acak menggunakan <random>pustaka C ++ 11 yang baru . Saya sudah mencobanya dengan kode ini: std::default_random_engine generator; std::uniform_real_distribution<double> uniform_distance(1, 10.001); Masalah dengan kode yang saya miliki adalah bahwa setiap kali saya mengkompilasi dan menjalankannya, selalu menghasilkan angka yang sama. Jadi pertanyaan …
143 c++  c++11  random  range 

4
Apakah pass-by-value merupakan default yang wajar di C ++ 11?
Dalam C ++ tradisional, meneruskan nilai ke fungsi dan metode lambat untuk objek besar, dan umumnya disukai. Alih-alih, programmer C ++ cenderung meneruskan referensi, yang lebih cepat, tetapi yang memperkenalkan segala macam pertanyaan rumit seputar kepemilikan dan terutama seputar manajemen memori (jika objek dialokasikan dialokasikan) Sekarang, di C ++ 11, …
142 c++  coding-style  c++11 

2
Apakah #pragma pernah menjadi bagian dari standar C ++ 11?
Secara tradisional, cara standar dan portabel untuk menghindari beberapa inklusi header dalam C ++ adalah / adalah dengan menggunakan #ifndef - #define - #endifskema arahan pra-kompiler juga disebut skema penjaga makro (lihat cuplikan kode di bawah). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif Di sebagian besar implementasi / kompiler (lihat gambar …

12
Apa kemampuan baru yang ditambahkan oleh literal yang ditetapkan pengguna ke C ++?
C ++ 11 memperkenalkan user-defined literal yang akan memungkinkan pengenalan sintaks literal baru berdasarkan literal yang ada ( int, hex, string, float) sehingga jenis apapun akan dapat memiliki presentasi literal. Contoh: // imaginary numbers std::complex<long double> operator "" _i(long double d) // cooked form { return std::complex<long double>(0, d); } …


3
Apakah C ++ efektif masih efektif?
Dari apa yang saya lihat di posting ini saya memutuskan untuk mulai membaca buku Efektif C ++ . Tapi sekarang ada banyak fitur baru karena C ++ 11 dan beberapa praktik yang baik berubah, saya tidak yakin apakah itu sebenarnya ide yang baik atau tidak. Apakah munculnya C ++ 11 …


9
Apakah sebenarnya ada alasan mengapa kelebihan beban && dan || jangan korsleting?
Perilaku korsleting dari operator &&dan ||merupakan alat yang luar biasa untuk programmer. Tetapi mengapa mereka kehilangan perilaku ini saat kelebihan beban? Saya memahami bahwa operator hanyalah gula sintaksis untuk fungsi tetapi operator untuk boolmemiliki perilaku ini, mengapa harus dibatasi pada jenis tunggal ini? Apakah ada alasan teknis di balik ini?

10
Bagaimana cara meniru perilaku C array inisialisasi “int arr [] = {e1, e2, e3,…}” dengan std :: array?
(Catatan: Pertanyaan ini tentang tidak memiliki untuk menentukan jumlah elemen dan masih memungkinkan bersarang jenis akan langsung diinisialisasi.) Pertanyaan ini membahas penggunaan tersisa untuk array C seperti int arr[20];. Pada jawabannya , @James Kanze menunjukkan salah satu benteng terakhir array C, itu karakteristik inisialisasi yang unik: int arr[] = { …



5
Sintaks baru “= default” di C ++ 11
Saya tidak mengerti mengapa saya melakukan ini: struct S { int a; S(int aa) : a(aa) {} S() = default; }; Kenapa tidak bilang saja: S() {} // instead of S() = default; mengapa membawa sintaksis baru untuk itu?
136 c++  c++11 

4
Apakah mungkin untuk mengetahui tipe parameter dan tipe kembalian lambda?
Diberikan lambda, apakah mungkin untuk mengetahui tipe parameter dan tipe kembaliannya? Jika ya, bagaimana caranya? Pada dasarnya, saya ingin lambda_traitsyang dapat digunakan dengan cara berikut: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long Motivasi di baliknya adalah …

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.