คำถามในหัวข้อ '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