Di C ++ 11 ada template variadic seperti ini: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } Ada beberapa keingintahuan tentang ini: Ekspresi
Di C ++ 11 ada template variadic seperti ini: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } Ada beberapa keingintahuan tentang ini: Ekspresi
Kembali ke C ++ setelah bertahun-tahun C # Saya bertanya-tanya apa cara modern - baca: C ++ 11 - untuk memfilter array, yaitu bagaimana kita bisa mencapai sesuatu yang mirip dengan kueri Linq ini: var filteredElements = elements.Where(elm => elm.filterProperty == true); Untuk memfilter...
Bagaimana cara mengirimkan a std::unique_ptrke suatu fungsi? Katakanlah saya memiliki kelas berikut: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; Berikut ini tidak dapat dikompilasi: void MyFunc(unique_ptr<A> arg) { cout...
Saya ingin beberapa informasi tentang bagaimana berpikir dengan benar tentang penutupan C ++ 11 dan std::functiondalam hal bagaimana mereka diimplementasikan dan bagaimana memori ditangani. Meskipun saya tidak percaya pada pengoptimalan prematur, saya memiliki kebiasaan untuk mempertimbangkan...
Apa perbedaan antara std::system_clockdan std::steady_clock? (Contoh kasus yang menggambarkan hasil / perilaku berbeda akan sangat bagus). Jika tujuan saya adalah mengukur waktu eksekusi fungsi secara tepat (seperti tolok ukur), apa pilihan terbaik antara std::system_clock, std::steady_clockdan...
C ++ 11 menambahkan beberapa fungsi konversi string baru: http://en.cppreference.com/w/cpp/string/basic_string/stoul Ini termasuk stoi (string ke int), stol (string ke long), stoll (string ke long long), stoul (string ke unsigned long), stoull (string ke unsigned long long). Terkemuka dalam...
Saya sudah mulai mencoba standar C ++ 11 dan saya menemukan pertanyaan ini yang menjelaskan bagaimana memanggil ctor Anda dari ctor lain di kelas yang sama untuk menghindari metode init atau sejenisnya. Sekarang saya mencoba hal yang sama dengan kode yang terlihat seperti ini: hpp: class...
Mengapa std::initializer_listbahasa inti tidak ada di dalamnya? Menurut saya, ini adalah fitur yang cukup penting dari C ++ 11 namun tidak memiliki kata kunci yang dicadangkan sendiri (atau yang serupa). Sebaliknya, initializer_listitu hanya kelas template dari pustaka standar yang memiliki...
Saya ingin tahu apa perbedaan semantik antara proposal konsep lengkap C ++ dan batasan template (misalnya, batasan seperti yang muncul di Dlang atau proposal konsep-lite baru untuk C ++ 1 tahun ). Apa yang mampu dilakukan oleh konsep lengkap daripada yang tidak dapat dilakukan oleh batasan...
Saya dengar auto_ptrsudah tidak digunakan lagi di C ++ 11. Apa alasannya ini? Saya juga ingin mengetahui perbedaan antara auto_ptrdan shared_ptr.
Jika saya meneruskan kode berikut melalui snapshot GCC 4.7 saya, ia mencoba menyalin unique_ptrs ke dalam vektor. #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only()...
Saya mendapatkan kesalahan C ++ dengan threading: terminate called without an active exception Aborted Ini kodenya: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> class blocking_stream { public:...
Versi pratinjau Visual Studio 2012 (versi berikutnya setelah VS2010) sekarang tersedia . Adakah yang tahu apa fitur C ++ 11 baru yang didukungnya? (Saya tidak dalam posisi untuk mencobanya saat ini).
Saya bermain dengan C ++ lambda dan konversi implisitnya ke fungsi pointer. Contoh awal saya menggunakannya sebagai callback untuk fungsi ftw. Ini bekerja seperti yang diharapkan. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char...
Saya mencoba menghitung panjang string literal pada waktu kompilasi. Untuk melakukannya, saya menggunakan kode berikut: #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"),
Di C ++ 11, kita memiliki sintaks baru untuk menginisialisasi kelas yang memberi kita banyak kemungkinan bagaimana menginisialisasi variabel. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4};...
Dalam Bjarne Stroustrup C ++ Bahasa Pemrograman bagian edisi 4 36.3.6 STL-seperti Operasi kode berikut digunakan sebagai contoh chaining : void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), 4, "only" )...
Saya selalu menanyakan hal ini tetapi saya tidak pernah menerima jawaban yang benar-benar bagus; Saya pikir hampir semua programmer bahkan sebelum menulis "Hello World" yang pertama telah menemukan frase seperti "makro tidak boleh digunakan", "makro jahat" dan seterusnya, pertanyaan saya adalah:...
Saya mencoba menggunakan perpustakaan chrono untuk pengatur waktu dan durasi. Saya ingin dapat memiliki Duration frameStart;(dari awal aplikasi) dan Duration frameDelta;(waktu antar frame) Saya harus bisa mendapatkan frameDeltadurasi sebagai milidetik dan detik mengambang. Bagaimana Anda...
Dalam kode berikut, panggilan pertama ke fooambigu, dan karena itu gagal untuk dikompilasi. Yang kedua, dengan ditambahkan +sebelum lambda, menyelesaikan overload pointer fungsi. #include <functional> void foo(std::function<void()> f) { f(); } void foo(void (*f)()) { f(); } int...