คำถามในหัวข้อ 'stl'

วิธีที่ดีที่สุดในการรวมคอนเทนเนอร์ STL หลายรายการโดยลบองค์ประกอบที่ซ้ำกันออก
ฉันมีคอนเทนเนอร์ STL สองคอนเทนเนอร์ที่ฉันต้องการรวม โดยลบองค์ประกอบใดๆ ที่ปรากฏมากกว่าหนึ่งครั้ง ตัวอย่างเช่น: typedef std::list<int> container; container c1; container c2; c1.push_back(1); c1.push_back(2); c1.push_back(3);...
13621 มุมมอง
schedule 31.10.2023

วิธีต่อท้ายวัตถุ list‹T› เข้ากับวัตถุอื่น
ใน C++ ฉันมี list<T> วัตถุ A และ B สองอัน และฉันต้องการเพิ่มสมาชิกทั้งหมดของ B ต่อท้าย A ฉันได้ค้นหาแหล่งข้อมูลที่แตกต่างกันสองสามแห่งและไม่พบวิธีแก้ปัญหาง่ายๆ (เช่น A.append(B); ) และสิ่งนี้ทำให้ฉันประหลาดใจเล็กน้อย...
71061 มุมมอง
schedule 09.12.2023

คำถาม C++ STL ที่เกี่ยวข้องกับตัววนซ้ำและตัวดำเนินการโอเวอร์โหลด
#include <list> #include <set> #include <iterator> #include <algorithm> using namespace std; class MyContainer { public: string value; MyContainer& operator=(const string& s) { this->value = s;...
1443 มุมมอง
schedule 18.12.2023

ปัญหาบางอย่างขณะเรียนรู้ STL
ฉันใช้ g++ ใน CodeBlocks IDE ใน Ubuntu ฉันยังใหม่กับ STL และบางส่วนของ C++ คำถามที่ 1: //ตอบแล้ว std::istream_iterator< std::string > begin ( dictionaryFile ); std::istream_iterator< std::string > end; std::vector<...
286 มุมมอง
schedule 09.11.2023

ไลบรารีมาตรฐาน C ++ มีชุดที่เรียงลำดับตามคำสั่งการแทรกหรือไม่
ไลบรารีมาตรฐาน C ++ มีโครงสร้างข้อมูล "ชุดสั่ง" หรือไม่ ตามชุดคำสั่ง ฉันหมายถึงบางสิ่งที่เหมือนกับชุด std::set ทั่วไปทุกประการ แต่จะจำลำดับที่คุณเพิ่มรายการเข้าไป ถ้าไม่ วิธีที่ดีที่สุดในการจำลองคืออะไร ฉันรู้ว่าคุณสามารถทำอะไรบางอย่าง เช่น...
10047 มุมมอง
schedule 03.11.2023

การใช้งาน std::vector ที่มีอยู่ในตัวเองและเข้ากันได้กับ STL
การใช้งาน std::vector ที่มาพร้อมกับ Visual Studio 2010 และเวอร์ชันก่อนหน้านี้มีลักษณะเฉพาะที่รู้จักกันดี: วิธีการ resize มีลายเซ็นต่อไปนี้ (สอดคล้องกับ C ++ 03): void resize(size_type new_size, value_type value);...
2082 มุมมอง
schedule 04.12.2023

std::copy_n ทำงานกับช่วงที่ทับซ้อนกันหรือไม่
ฉันกำลังดูมาตรฐาน C++ ที่ N3485 25.3.1 [alg.copy] ซึ่งกำหนดอัลกอริธึม 4 แบบ: copy copy_backward copy_if copy_n ในคำอธิบายสำหรับ copy มีหมายเหตุ 25.3.1 [alg.copy]/3 นี้: ต้องการ: ผลลัพธ์จะต้องไม่อยู่ในช่วง [แรก,...
473 มุมมอง
schedule 30.12.2023

การใช้ `std::make_heap` ของ libc++ ไม่สอดคล้องกันหรือไม่
แก้ไข: นี่ไม่ใช่การถามว่าจะทำอย่างไร std::make_heap วิธี O(n) แต่ถามว่าการใช้งานเฉพาะนี้เป็น O(n) จริงหรือไม่ วิธีการสร้างฮีปตามตำราเรียนในเวลา O(n) คือการสร้างฮีปอย่างต่อเนื่องจากล่างขึ้นบน แต่การใช้งาน std::make_heap บนเครื่อง Mac ของฉันใน...
734 มุมมอง
schedule 24.10.2023

ตัววนซ้ำที่กำหนดเอง
ฉันได้ใช้ตัววนซ้ำเช่นนี้ template <typename GridT, typename GridPtr, typename GridRef, template <typename> class ShapeT> class GridIterator { public: typedef GridIterator<GridT, GridPtr, GridRef,...
128 มุมมอง
schedule 23.11.2023

std::hash‹T› ควรทำงานเมื่อ T นั้น std::pair‹สองประเภทที่ง่ายกว่านั้นรองรับโดย std::hash› หรือไม่
ฉันใช้ชุดคำสั่งที่ประกาศดังนี้: std::set<std::pair<const std::string, const myClass *> > myset; หลังจากทำการวิเคราะห์วิธีที่ฉันใช้ set, แล้ว ฉันสรุปได้ว่า unordered_set จะเป็นตัวเลือกที่ชาญฉลาดกว่า แต่เมื่อฉันเปลี่ยน std::set...
719 มุมมอง
schedule 27.12.2023

โครงสร้างข้อมูล STL ใดที่มีประเภทการจัดเก็บที่ไม่สมบูรณ์สามารถใช้เป็นสมาชิกของคลาสได้
เท่าที่ฉันรู้ เนื่องจาก C++17 โครงสร้างข้อมูล STL บางส่วนอาจมี "อยู่" โดยมีประเภทที่ไม่สมบูรณ์เป็นพารามิเตอร์เทมเพลตซึ่งอธิบายประเภทที่เก็บไว้ ตัวอย่างเช่น ฉันอาจใช้ std::unique_ptr<Incomplete> (ฉันไม่แน่ใจว่ามันเป็นโครงสร้างข้อมูลหรือไม่)...
216 มุมมอง
schedule 19.11.2023