Jika ada, seperti apa std::mapdaftar penginisialisasi yang diperluas? Saya telah mencoba beberapa kombinasi ... well, semua yang dapat saya pikirkan dengan GCC 4.4, tetapi tidak menemukan apa pun yang dikompilasi.
Jika ada, seperti apa std::mapdaftar penginisialisasi yang diperluas? Saya telah mencoba beberapa kombinasi ... well, semua yang dapat saya pikirkan dengan GCC 4.4, tetapi tidak menemukan apa pun yang dikompilasi.
Saya ingin tahu apa [=]? Berikut contoh singkatnya template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); Bagaimana kode tersebut bekerja,...
Saya memiliki std::vectorobjek dari kelas tertentu A. Kelas tidak sepele dan memiliki konstruktor salinan dan konstruktor bergerak yang ditentukan. std::vector<A> myvec; Jika saya mengisi vektor dengan Aobjek (menggunakan contoh myvec.push_back(a)), ukuran vektor akan bertambah,...
Di C #, ada gula sintaks yang bagus untuk bidang dengan pengambil dan penyetel. Selain itu, saya menyukai properti yang diimplementasikan secara otomatis yang memungkinkan saya untuk menulis public Foo foo { get; private set; } Di C ++ saya harus menulis private: Foo foo; public: Foo...
Ketika saya mencoba dan mengkompilasi kode ini (VS2010) saya mendapatkan kesalahan berikut: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#");...
Apa metode terbaik untuk meneruskan sebuah shared_ptrdari tipe turunan ke fungsi yang mengambil shared_ptrtipe dasar? Saya biasanya melewatkan shared_ptrreferensi untuk menghindari salinan yang tidak perlu: int foo(const shared_ptr<bar>& ptr); tetapi ini tidak berhasil jika saya...
Tertutup . Pertanyaan ini berdasarkan opini . Saat ini tidak menerima jawaban. Ingin memperbaiki pertanyaan ini? Perbarui pertanyaan agar dapat dijawab dengan fakta dan kutipan dengan mengedit posting ini . Tutup 3 tahun lalu . Perbaiki pertanyaan...
Di mana saya harus memilih menggunakan makro dan di mana saya harus memilih constexpr ? Bukankah pada dasarnya mereka sama? #define MAX_HEIGHT 720 vs. constexpr unsigned int max_height = 720;
Saya mencoba untuk mengkompilasi program kumpulan benang berikut yang diposting pada tinjauan kode untuk mengujinya. /codereview/55100/platform-independant-thread-pool-v4 Tapi saya mendapatkan kesalahan threadpool.hpp: In member function ‘std::future<decltype
Katakanlah saya memiliki tipe dan saya ingin menjadikan konstruktor defaultnya pribadi. Saya menulis yang berikut ini: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of class 'C' (clang++) // error...
Mengapa C ++ 11 make " deleted" fungsi berpartisipasi dalam resolusi yang berlebihan ? Mengapa ini berguna? Atau dengan kata lain, mengapa mereka disembunyikan dan bukannya dihapus seluruhnya?
Saya mencoba untuk mengkompilasi menggunakan g++dan baik -std=c++11atau c++0xbendera. Namun, saya mendapatkan kesalahan ini cc1plus: error: unrecognized command line option "-std=c++11" g ++ --version g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) Copyright (C) 2006 Free Software Foundation,...
Saya memahami cara yang benar untuk menangkap this(untuk mengubah properti objek) di lambda adalah sebagai berikut: auto f = [this] () { /* ... */ }; Tapi saya penasaran dengan keanehan berikut yang pernah saya lihat: class C { public: void foo() { // auto f = [] () { // this not...
Tanda kurung dalam C ++ digunakan di banyak tempat: misalnya dalam pemanggilan fungsi dan ekspresi pengelompokan untuk mengesampingkan prioritas operator. Terlepas dari tanda kurung tambahan ilegal (seperti di sekitar daftar argumen panggilan fungsi), aturan umum -tetapi tidak mutlak- dari C ++...
Saya ingin tahu apakah mungkin untuk menulis fungsi yang mengembalikan fungsi lambda di C ++ 11. Tentu satu masalah adalah bagaimana mendeklarasikan fungsi tersebut. Setiap lambda memiliki tipe, tetapi tipe itu tidak dapat diekspresikan dalam C ++. Saya tidak berpikir ini akan berhasil: auto...
Saya mencoba membuat vektor lambda, tetapi gagal: auto ignore = [&]() { return 10; }; //1 std::vector<decltype(ignore)> v; //2 v.push_back([&]() { return 100; }); //3 Sampai baris # 2, kompilasi baik-baik saja . Tetapi baris # 3 memberikan kesalahan kompilasi : kesalahan:...
Ini sedikit dari dua pertanyaan bagian, semua tentang atomisitas std::shared_ptr: 1. Sejauh yang saya tahu, std::shared_ptradalah satu-satunya penunjuk cerdas dalam <memory>atom itu. Saya bertanya-tanya apakah ada versi non-atomik yang std::shared_ptrtersedia (saya tidak dapat melihat...
Kode berikut cukup sepele dan saya berharap itu harus dikompilasi dengan baik. struct A { struct B { int i = 0; }; B b; A(const B& _b = B()) : b(_b) {} }; Saya telah menguji kode ini dengan g ++ versi 4.7.2, 4.8.1, clang ++ 3.2 dan 3.3. Terlepas dari kenyataan bahwa g ++ 4.7.2...
Saya mencoba melakukan sesuatu seperti ini: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl;...
std::arrayjauh lebih unggul dari array C. Dan bahkan jika saya ingin bekerja sama dengan kode lama, saya cukup menggunakan std::array::data(). Apakah ada alasan mengapa saya menginginkan array jadul?