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?
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?
Ini adalah tindak lanjut dari pertanyaan saya sebelumnya tentang wadah STL dengan pencetakan cantik , yang untuknya kami berhasil mengembangkan solusi yang sangat elegan dan sepenuhnya umum. Pada langkah selanjutnya, saya ingin memasukkan pencetakan cantik untuk std::tuple<Args...>,...
Apa cara yang tepat untuk mengaktifkan swapalgoritma STL saya ? 1) Anggota swap. Apakah std::swapmenggunakan trik SFINAE untuk menggunakan anggota swap. 2) Berdiri bebas swapdi namespace yang sama. 3) Spesialisasi parsial std::swap. 4) Semua hal di atas. Terima kasih. EDIT: Sepertinya saya...
Mari kita bayangkan kita memiliki sebuah struct untuk menampung 3 ganda dengan beberapa fungsi anggota: struct Vector { double x, y, z; // ... Vector &negate() { x = -x; y = -y; z = -z; return *this; } Vector &normalize() { double s = 1./sqrt(x*x+y*y+z*z); x *= s; y *= s; z *=...
Jika saya mendeklarasikan objek yang dibungkus dengan pointer bersama: std::shared_ptr<myClass> myClassObject(new myClass()); maka saya ingin menyampaikannya sebagai argumen untuk suatu metode: DoSomething(myClassObject); //the called method void
Saya baru saja memodifikasi beberapa kode, dan menemukan bug yang sudah ada sebelumnya pada satu baris dalam suatu fungsi: std:;string x = y; Kode ini masih dikompilasi dan berfungsi seperti yang diharapkan. Definisi string berfungsi karena file ini using namespace std; , jadi sejak...
Sepertinya saya tidak bisa mendapatkan ini untuk bekerja. Saya membuat aplikasi konsol sederhana (yang bergantung pada websocket++perpustakaan) yang membutuhkan Boostperpustakaan .. tetapi ketika saya mencoba untuk mengkompilasi saya mendapatkan: kesalahan fatal LNK1104: tidak dapat membuka...
Debian tidak lagi menyediakan paket prakompilasi untuk gTest. Mereka menyarankan Anda mengintegrasikan kerangka kerja ke dalam file makefile proyek Anda. Tapi saya ingin menjaga makefile saya tetap bersih. Bagaimana cara menyiapkan gTest seperti versi sebelumnya (<1.6.0), sehingga saya dapat...
Sebelum C ++ 11, kita hanya dapat melakukan inisialisasi di dalam kelas pada anggota const statis integral atau tipe enumerasi. Stroustrup membahas hal ini dalam C ++ FAQ-nya , memberikan contoh berikut: class Y { const int c3 = 7; // error: not static static int c4 = 7; // error: not const...
Pertimbangkan program berikut: #include <string> #include <vector> using namespace std; struct T { int a; double b; string c; }; vector<T> V; int main() { V.emplace_back(42, 3.14, "foo"); } Tidak berhasil: $ g++ -std=gnu++11 ./test.cpp In file included from...
Saya tahu ini telah ditanyakan berkali-kali, dan karena itu sulit untuk menggali lebih dalam dan menemukan contoh sederhana tentang apa yang berhasil. Saya punya ini, sederhana dan berfungsi untuk MyClass... #include <iostream> using std::cout; using std::endl; class MyClass { public:...
Seperti judulnya, Apa sebenarnya aturan "seolah-olah" itu? Jawaban khas yang akan didapat adalah: Aturan yang memungkinkan setiap dan semua transformasi kode yang tidak mengubah perilaku program yang dapat diamati Dari waktu ke waktu kami terus mendapatkan perilaku dari implementasi...
Apakah mungkin untuk menyimpan paket parameter untuk digunakan nanti? template <typename... T> class Action { private: std::function<void(T...)> f; T... args; // <--- something like this public: Action(std::function<void(T...)> f, T... args) : f(f), args(args) {} void...
Saya memiliki kode termudah yang pernah ada: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } meskipun saya masih tidak...
Perhatikan pernyataan berikut: *((char*)NULL) = 0; //undefined behavior Ini jelas memunculkan perilaku yang tidak terdefinisi. Apakah adanya pernyataan seperti itu dalam program tertentu berarti bahwa keseluruhan program tidak terdefinisi atau bahwa perilaku hanya menjadi tidak terdefinisi...
Saya menyelidiki hotspot kinerja dalam sebuah aplikasi yang menghabiskan 50% waktunya di memmove (3). Aplikasi ini memasukkan jutaan integer 4-byte ke dalam array yang diurutkan, dan menggunakan memmove untuk menggeser data "ke kanan" untuk memberi ruang bagi nilai yang disisipkan. Harapan saya...
Apakah ada cara untuk memanggil sesuatu seperti clang-format --style=Webkituntuk seluruh folder proyek cpp, daripada menjalankannya secara terpisah untuk setiap file? Saya menggunakan clang-format.pydan vimmelakukan ini, tetapi saya menganggap ada cara untuk menerapkan ini sekali....
Saya sangat bingung tentang nilai- & default- & nol-inisialisasi. dan terutama ketika mereka menendang untuk standar yang berbeda C ++ 03 dan C ++ 11 (dan C ++ 14 ). Saya mengutip dan mencoba untuk memperluas jawaban yang sangat bagus Value- / Default- / Zero- Init C ++ 98 dan C ++ 03 di...
Saya memiliki perpustakaan kelas yang signifikan yang ditulis dalam C ++. Saya mencoba memanfaatkannya melalui beberapa jenis penghubung dalam Swift daripada menulis ulang sebagai kode Swift. Motivasi utamanya adalah bahwa kode C ++ mewakili pustaka inti yang digunakan pada banyak platform....
Saya bekerja dengan memori beberapa lambda di C ++, tapi saya agak bingung dengan ukurannya. Ini kode tes saya: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f <<...