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



8
Melewati penangkapan lambda sebagai penunjuk fungsi
Apakah mungkin untuk melewatkan fungsi lambda sebagai penunjuk fungsi? Jika demikian, saya pasti melakukan sesuatu yang salah karena saya mendapatkan kesalahan kompilasi. Perhatikan contoh berikut using DecisionFn = bool(*)(); class Decide { public: Decide(DecisionFn dec) : _dec{dec} {} private: DecisionFn _dec; }; int main() { int x = 5; Decide …

2
Bisakah C ++ modern memberi Anda kinerja gratis?
Kadang-kadang diklaim bahwa C ++ 11/14 dapat membuat Anda meningkatkan kinerja bahkan ketika hanya mengkompilasi kode C ++ 98. Pembenaran biasanya sepanjang garis semantik bergerak, karena dalam beberapa kasus pembangun nilai secara otomatis dihasilkan atau sekarang bagian dari STL. Sekarang saya bertanya-tanya apakah kasus-kasus ini sebelumnya sebenarnya sudah ditangani oleh …


3
referensi tidak terdefinisi untuk 'std :: cout'
Haruskah ini menjadi contoh: #include <iostream> using namespace std; int main() { cout << "Hola, moondo.\n"; } Itu melempar kesalahan: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)' main.o: In …
194 c++  c++11  gcc  cout 


9
Idiom C ++ manakah yang tidak digunakan lagi dalam C ++ 11?
Dengan standar baru, ada cara-cara baru dalam melakukan sesuatu, dan banyak yang lebih baik daripada cara-cara lama, tetapi cara lama masih baik-baik saja. Juga jelas bahwa standar baru tidak secara resmi mencela, karena alasan kompatibilitas. Jadi pertanyaan yang tersisa adalah: Apa cara pengkodean lama yang jelas lebih rendah dari gaya …
192 c++  c++11  c++-faq 


2
Fitur Boost manakah yang tumpang tindih dengan C ++ 11?
Saya meletakkan keterampilan C ++ saya di rak beberapa tahun yang lalu dan sepertinya sekarang, ketika saya membutuhkannya lagi, lanskap telah berubah. Kami telah mendapatkan C ++ 11 sekarang, dan pemahaman saya adalah bahwa ini tumpang tindih dengan banyak fitur Boost. Apakah ada beberapa ringkasan di mana tumpang tindih itu …
191 c++  boost  c++11 

5
Apa gunanya noreturn?
[dcl.attr.noreturn] memberikan contoh berikut: [[ noreturn ]] void f() { throw "error"; // OK } tapi saya tidak mengerti apa gunanya [[noreturn]], karena tipe kembalinya fungsi sudah void. Jadi, apa gunanya noreturnatribut itu? Bagaimana seharusnya digunakan?


16
Bagaimana saya memanggil :: std :: make_share di kelas dengan hanya konstruktor yang dilindungi atau pribadi?
Saya memiliki kode ini yang tidak berfungsi, tetapi saya pikir maksudnya jelas: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); } Tapi …
187 c++  c++11  shared-ptr 

6
Referensi yang tidak terdefinisi ke char static constexpr []
Saya ingin memiliki static const chararray di kelas saya. GCC mengeluh dan mengatakan kepada saya bahwa saya harus menggunakan constexpr, meskipun sekarang memberitahu saya itu referensi yang tidak ditentukan. Jika saya membuat array menjadi non-anggota maka kompilasi. Apa yang sedang terjadi? // .hpp struct foo { void bar(); static constexpr …

4
std :: auto_ptr ke std :: unique_ptr
Dengan standar baru datang (dan bagian sudah tersedia di beberapa kompiler), tipe baru std::unique_ptrseharusnya menjadi pengganti std::auto_ptr. Apakah penggunaannya benar-benar tumpang tindih (sehingga saya dapat melakukan global menemukan / mengganti kode saya (bukan bahwa saya akan melakukan ini, tetapi jika saya melakukannya)) atau haruskah saya menyadari beberapa perbedaan yang tidak …

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.