Pertanyaan yang diberi tag «c++»

C ++ adalah bahasa pemrograman untuk tujuan umum. Awalnya dirancang sebagai ekstensi ke C dan memiliki sintaksis yang sama, tetapi sekarang bahasa yang sama sekali berbeda. Gunakan tag ini untuk pertanyaan tentang kode yang akan dikompilasi dengan kompiler C ++. Gunakan tag khusus versi untuk pertanyaan yang berkaitan dengan revisi standar spesifik [C ++ 11], [C ++ 14], [C ++ 17] atau [C ++ 20], dll.

13
Jangan mewarisi dari std :: vector
Ok, ini benar-benar sulit untuk diakui, tetapi saya memiliki godaan yang kuat saat ini untuk diwarisi std::vector. Saya membutuhkan sekitar 10 algoritma yang disesuaikan untuk vektor dan saya ingin mereka menjadi anggota vektor secara langsung. Tapi tentu saja saya juga ingin memiliki std::vectorantarmuka yang lain. Nah, ide pertama saya, sebagai …
189 c++  oop  inheritance  stl  vector 

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?

8
Apa cara terbaik untuk menggabungkan dua vektor?
Saya menggunakan multitreading dan ingin menggabungkan hasilnya. Sebagai contoh: std::vector<int> A; std::vector<int> B; std::vector<int> AB; Saya ingin AB harus memiliki isi A dan isi B dalam urutan itu. Apa cara paling efisien untuk melakukan sesuatu seperti ini?
189 c++  vector 


4
Mengapa orang menggunakan kelas bersarang di C ++?
Dapatkah seseorang tolong tunjukkan saya pada beberapa sumber yang bagus untuk memahami dan menggunakan kelas bersarang? Saya memiliki beberapa materi seperti Prinsip-prinsip Pemrograman dan hal-hal seperti Pusat Pengetahuan IBM ini - Kelas Bertingkat Tapi saya masih kesulitan memahami tujuan mereka. Bisakah seseorang tolong saya?

10
Apa efek memesan jika ... jika pernyataan berdasarkan probabilitas?
Khususnya, jika saya memiliki serangkaian if... else ifpernyataan, dan entah bagaimana saya tahu sebelumnya probabilitas relatif yang akan dievaluasi oleh setiap pernyataan true, berapa banyak perbedaan dalam waktu eksekusi yang dibuat untuk menyortirnya dalam urutan probabilitas? Misalnya, saya harus memilih ini: if (highly_likely) //do something else if (somewhat_likely) //do something …

5
Argumen templat default untuk templat fungsi
Mengapa argumen templat default hanya diizinkan pada templat kelas? Mengapa kita tidak bisa mendefinisikan tipe default di templat fungsi anggota? Sebagai contoh: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Sebaliknya, C ++ memaksa argumen templat default hanya diizinkan pada templat kelas.
187 c++  templates 


9
Bagaimana cara membuat output CMake menjadi direktori 'bin'?
Saat ini saya sedang membangun sebuah proyek dengan struktur plugin. Saya menggunakan CMake untuk mengkompilasi proyek. Plugin dikompilasi dalam direktori terpisah. Masalah saya adalah bahwa CMake mengkompilasi dan menyimpan binari dan plugin, pustaka dinamis, dalam struktur direktori sumber. Bagaimana cara membuat CMake menyimpan file dalam sesuatu seperti direktori ./bin ?
187 c++  plugins  cmake 


21
Bagaimana cara menggunakan enums sebagai flag di C ++?
Mengobati enum s sebagai flag berfungsi dengan baik di C # melalui [Flags]atribut, tetapi apa cara terbaik untuk melakukan ini di C ++? Sebagai contoh, saya ingin menulis: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered; …
187 c++  enums 

14
Kurung kurawal yang tidak perlu di C ++?
Ketika melakukan review kode untuk seorang rekan hari ini saya melihat hal yang aneh. Dia telah mengelilingi kode barunya dengan kurung kurawal seperti ini: Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } Apa hasilnya, jika ada, dari ini? Apa yang bisa …

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 

3
cabang fork () lebih dari yang diharapkan?
Pertimbangkan potongan kode berikut: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i = 0; i < 2; i++) { fork(); printf("."); } return 0; } Program ini menghasilkan 8 titik. Bagaimana itu bisa terjadi? Bukankah seharusnya ada 6 titik saja?
186 c++  c  fork 


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.