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.

1
Apa tujuan dari std :: mencuci?
P0137 memperkenalkan templat fungsi std::launderdan membuat banyak, banyak perubahan pada standar di bagian tentang serikat pekerja, masa pakai, dan petunjuk. Apa masalah yang dipecahkan makalah ini? Apa saja perubahan pada bahasa yang harus saya ketahui? Dan apa yang akan kita lakukan launder?


21
Mengembalikan banyak nilai dari fungsi C ++
Apakah ada cara yang disukai untuk mengembalikan beberapa nilai dari fungsi C ++? Misalnya, bayangkan fungsi yang membagi dua bilangan bulat dan mengembalikan hasil bagi dan sisanya. Salah satu cara yang biasa saya lihat adalah menggunakan parameter referensi: void divide(int dividend, int divisor, int& quotient, int& remainder); Variasi adalah untuk …
242 c++ 



6
Mengapa ruang nama yang tidak disebutkan namanya digunakan dan apa manfaatnya?
Saya baru saja bergabung dengan proyek perangkat lunak C ++ baru dan saya mencoba memahami desainnya. Proyek ini sering menggunakan ruang nama yang tidak disebutkan namanya. Misalnya, sesuatu seperti ini dapat terjadi di file definisi kelas: // newusertype.cc namespace { const int SIZE_OF_ARRAY_X; const int SIZE_OF_ARRAY_Y; bool getState(userType*,otherUserType*); } newusertype::newusertype(...) …
242 c++  oop  namespaces 

21
Bagaimana cara memeriksa apakah string C ++ std :: dimulai dengan string tertentu, dan mengonversi substring ke int?
Bagaimana cara menerapkan yang berikut (Python pseudocode) di C ++? if argv[1].startswith('--foo='): foo_value = int(argv[1][len('--foo='):]) (Misalnya, jika argv[1]ada --foo=98, maka foo_valueadalah 98.) Pembaruan: Saya ragu-ragu untuk melihat Boost, karena saya hanya ingin membuat perubahan kecil ke alat command-line kecil yang sederhana (saya lebih suka tidak harus belajar cara menautkan dan …

4
(-2147483648> 0) mengembalikan true dalam C ++?
-2147483648 adalah bilangan bulat terkecil untuk tipe bilangan bulat dengan 32 bit, tetapi tampaknya akan meluap dalam if(...)kalimat: if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; Ini akan dicetak truedalam pengujian saya. Namun, jika kita menggunakan -2147483648 ke integer, hasilnya akan berbeda: if (int(-2147483648) > 0) std::cout …


6
Bagaimana cara menerapkan iterator dan const_iterators kustom?
Saya memiliki kelas wadah kustom yang ingin saya tulis iteratordan const_iteratorkelasnya. Saya tidak pernah melakukan ini sebelumnya dan saya gagal menemukan cara yang tepat. Apa pedoman tentang pembuatan iterator, dan apa yang harus saya ketahui? Saya juga ingin menghindari duplikasi kode (saya merasakannya const_iteratordan iteratorberbagi banyak hal; haruskah satu subklas …

10
Bagaimana cara meringkas elemen-elemen dari vektor C ++?
Apa cara yang baik untuk menemukan jumlah semua elemen dalam std::vector? Misalkan saya memiliki vektor std::vector<int> vectordengan beberapa elemen di dalamnya. Sekarang saya ingin mencari jumlah semua elemen. Apa cara yang berbeda untuk hal yang sama?
240 c++  stl  vector 




12
Bisakah Anda menghapus elemen dari daftar std :: saat iterasi melalui itu?
Saya punya kode yang terlihat seperti ini: for (std::list<item*>::iterator i=items.begin();i!=items.end();i++) { bool isActive = (*i)->update(); //if (!isActive) // items.remove(*i); //else other_code_involving(*i); } items.remove_if(CheckItemNotActive); Saya ingin menghapus item yang tidak aktif segera setelah memperbaruinya, inorder untuk menghindari berjalan daftar lagi. Tetapi jika saya menambahkan baris komentar, saya mendapatkan kesalahan ketika saya …
239 c++  list  std 

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.