Bagaimana saya menggabungkan dua
Jenis urutan yang ditentukan sebagai bagian dari Pustaka Standar.
Bagaimana saya menggabungkan dua
Saya ingin mencetak isi vektor di C ++, inilah yang saya miliki: #include <iostream> #include <fstream> #include <string> #include <cmath> #include <vector> #include <sstream> #include <cstdio> using namespace std; int main() { ifstream...
Apa cara tercepat untuk mengatur ulang setiap nilai a std::vector<int>ke 0 dan menjaga vektor ukuran awal? A for loop dengan operator []?
Setelah banyak penyelidikan dengan valgrind, saya telah membuat kesimpulan bahwa std :: vector membuat salinan dari objek yang ingin Anda push_back. Benarkah itu benar? Vektor tidak dapat menyimpan referensi atau penunjuk objek tanpa salinan ?! Terima
Saya suka banyak vektor. Mereka bagus dan cepat. Tapi saya tahu benda yang disebut valarray ini ada. Mengapa saya menggunakan valarray bukan vektor? Saya tahu valarrays memiliki sedikit gula sintaksis, tetapi selain itu, kapan mereka
Saya perlu menyalin std::setke std::vector: std::set <double> input; input.insert(5); input.insert(6); std::vector <double> output; std::copy(input.begin(), input.end(), output.begin()); //Error: Vector iterator not dereferencable Dimana
Jika saya memiliki vektor pasangan: std::vector<std::pair<int, int> > vec; Apakah ada dan cara mudah untuk mengurutkan daftar dalam urutan yang meningkat berdasarkan elemen kedua dari pasangan? Saya tahu saya bisa menulis objek fungsi kecil yang akan melakukan pekerjaan, tetapi...
Berapa banyak data yang disalin, ketika mengembalikan std :: vector dalam sebuah fungsi dan seberapa besar optimasi akan menempatkan std :: vector di free-store (di heap) dan mengembalikan pointer yaitu: std::vector *f() { std::vector *result = new std::vector(); /* Insert elements into result...
Saya mencari cara umum yang dapat digunakan kembali untuk mengacak a std::vectordi C ++. Beginilah cara saya saat ini melakukannya, tetapi menurut saya itu tidak terlalu efisien karena memerlukan array perantara dan perlu mengetahui jenis itemnya (DeckCard dalam contoh
Saya tahu itu at()lebih lambat daripada []karena pemeriksaan batasnya, yang juga dibahas dalam pertanyaan serupa seperti C ++ Vector pada / [] kecepatan operator atau :: std :: vector :: at () vs operator [] << hasil yang mengejutkan !! 5 hingga 10 kali lebih lambat / lebih cepat! . Saya...
Saya memiliki kode Java berikut dengan beberapa array besar yang tidak pernah mengubah ukurannya. Ini berjalan dalam 1100 ms di komputer saya. Saya menerapkan kode yang sama di C ++ dan digunakan std::vector. Waktu implementasi C ++ yang menjalankan kode yang sama persis adalah 8800 ms di...
Saya menggunakan perpustakaan eksternal yang pada beberapa titik memberi saya pointer mentah ke array bilangan bulat dan ukuran. Sekarang saya ingin menggunakan std::vectoruntuk mengakses dan memodifikasi nilai-nilai ini di tempat, daripada mengaksesnya dengan pointer mentah. Berikut adalah...
Pertimbangkan cuplikan berikut: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } Jelas itu akan crash pada sebagian besar platform, karena ukuran tumpukan standar biasanya kurang dari 20MB. Sekarang pertimbangkan kode berikut: #include...
Saya memiliki fungsi yang mengambil multidimensi std::vectordan membutuhkan kedalaman (atau jumlah dimensi) untuk dilewatkan sebagai parameter templat. Alih-alih hardcoding nilai ini saya ingin menulis constexprfungsi yang akan mengambil std::vectordan mengembalikan kedalaman sebagai unsigned...
Saya telah menemukan beberapa perilaku yang sangat aneh (pada dentang dan GCC) dalam situasi berikut. Saya punya vektor,, nodesdengan satu elemen, turunan dari kelas Node. Saya kemudian memanggil fungsi nodes[0]yang menambahkan baru Nodeke vektor. Ketika Node baru ditambahkan, bidang objek...
Misalkan Anda memiliki kode berikut: #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto a :...
Katakanlah saya memiliki vektor bilangan bulat: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Lalu saya mengurutkannya dalam urutan menurun: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] >...
Pertanyaan berikut terkait, namun jawabannya sudah lama, dan komentar dari pengguna Marc Glisse menyarankan ada pendekatan baru sejak C ++ 17 untuk masalah ini yang mungkin tidak cukup dibahas. Saya mencoba menyelaraskan memori yang berfungsi dengan baik untuk SIMD, sementara masih memiliki akses...