เวกเตอร์ของวัตถุ C++ คืออะไร

Wek Texr Khxng Watthu C Khux Xari



ในฐานะผู้เริ่มต้นใช้ C++ คุณอาจได้ยินคำว่า “ เวกเตอร์ของวัตถุ '. อย่างไรก็ตาม คุณไม่มีความเข้าใจที่ถูกต้องเกี่ยวกับความหมายของคำนี้และจะใช้คำนี้ในโปรแกรม C++ ได้อย่างไร

หากคุณเป็นคนหนึ่งที่กำลังมองหาคำแนะนำเกี่ยวกับ เวกเตอร์ของวัตถุ ใน C++ ให้ทำตามคำแนะนำของบทความนี้

เวกเตอร์ของวัตถุใน C ++ คืออะไร

ใน C++, ก เวกเตอร์ของวัตถุ เป็นโครงสร้างข้อมูลที่อนุญาตให้ผู้ใช้จัดเก็บชุดของวัตถุหรือประเภทข้อมูลที่เกี่ยวข้อง มันทำงานคล้ายกับอาร์เรย์ทั่วไปและให้ประโยชน์แก่ผู้ใช้ในการปรับขนาดได้ ซึ่งหมายความว่ามันสามารถขยายหรือย่อตามความต้องการของโปรแกรม คุณลักษณะนี้มีประโยชน์อย่างยิ่งเมื่อทำงานกับชุดข้อมูลขนาดใหญ่ที่มีขนาดแตกต่างกัน







วิธีสร้างเวกเตอร์ของวัตถุใน C++

เวกเตอร์ของคลาสออบเจกต์ดูเหมือนจะเป็นตัวอย่างของเวกเตอร์แบบกำหนดเองที่สามารถจัดเก็บอินสแตนซ์ของคลาสได้หลายรายการ



โปรแกรม C++ ต่อไปนี้จะสร้างเวกเตอร์ของวัตถุคลาส



#รวมถึง
#รวมถึง <สตริง>
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
นานาชาติ rand_จำนวนเต็ม ( นานาชาติ x, นานาชาติ และ )
{
กลับ ( x + แรนด์ ( ) % และ ) ;
}
สตริง rand_String ( นานาชาติ ขี้เกียจ1 )
{
สตริง str1 ;
สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < ขี้เกียจ1 ; ฉัน ++ ) {
ถ่าน = 'เอ' + แรนด์ ( ) % 26 ;
str1. push_back ( ) ;
}
กลับ str1 ;
}
ระดับ พนักงาน
{
ชื่อสตริง ;
นานาชาติ รหัส ;
นานาชาติ อายุ ;
สาธารณะ :
เป็นโมฆะ ทะเยอทะยาน ( )
{
ชื่อ = rand_String ( 10 ) ;
รหัส = rand_จำนวนเต็ม ( 10 , 30 ) ;
อายุ = rand_จำนวนเต็ม ( 25 , 40 ) ;
}
เป็นโมฆะ แจกจ่าย ( )
{
ศาล << ชื่อ << ' \t ' << รหัส << ' \t ' << อายุ << ' \t ' << ' \n ' ;
}
} ;
นานาชาติ หลัก ( )
{
เวกเตอร์ v1 ;
พนักงาน ;
สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < 5 ; ฉัน ++ )
{
ส. ทะเยอทะยาน ( ) ;
v1. push_back ( ) ;
}
สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < 5 ; ฉัน ++ )
{
v1 [ ฉัน ] . แจกจ่าย ( ) ;
}
กลับ 0 ;
}

ในโค้ดข้างต้น เราได้สุ่มสร้างข้อมูล (ชื่อ อายุ และรหัสประจำตัว) ของพนักงานห้าคนโดยใช้เวกเตอร์ของคลาสอ็อบเจกต์ที่มีชื่อเป็น “ พนักงาน '. โดยเรากำหนดช่วง 10-30 สำหรับรหัสพนักงาน และ 25-40 สำหรับอายุ





ข้อดีของการใช้ Vector ของวัตถุใน C++

มีข้อดีหลายประการของการใช้เวกเตอร์ของวัตถุใน C++ ซึ่งมีดังนี้:



  • ช่วยให้ผู้ใช้สามารถจัดเก็บ จัดการ และเข้าถึงข้อมูลได้อย่างมีประสิทธิภาพ
  • ผู้ใช้สามารถเพิ่ม ลบ หรือจัดการข้อมูลได้ตามความต้องการโดยไม่จำเป็นต้องสร้างอาร์เรย์ใหม่ตั้งแต่ต้น
  • ปรับเค้าโครงหน่วยความจำของวัตถุให้เหมาะสม
  • ปรับขนาดอาร์เรย์ระหว่างรันไทม์ได้อย่างง่ายดาย
  • ประสิทธิภาพจะดีขึ้นเมื่อจัดการกับข้อมูลขนาดใหญ่

เวกเตอร์ที่มีตัวชี้คลาส

คุณยังสามารถใช้ เวกเตอร์ของวัตถุ ใน C ++ เพื่อจัดเก็บที่อยู่ของวัตถุแทนการแทรกวัตถุลงในเวกเตอร์โดยตรง นี่คือตัวอย่างสำหรับกรณีดังกล่าว:

#รวมถึง
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
ระดับ เจ้าของ
{
สาธารณะ :
ชื่อสตริง ;
} ;
นานาชาติ หลัก ( )
{
เว็บไซต์เวกเตอร์ ;
เจ้าของ * s1 = ใหม่ เจ้าของ ( ) ;
s1 - > ชื่อ = 'อเล็กซ์' ;
เจ้าของ * เอส2 = ใหม่ เจ้าของ ( ) ;
เอส2 - > ชื่อ = 'ตัวเขาเอง' ;
เว็บไซต์ push_back ( s1 ) ;
เว็บไซต์ push_back ( เอส2 ) ;
สำหรับ ( อัตโนมัติ มัน : เว็บไซต์ ) {
ศาล << 'เจ้าของ:' < ชื่อ
<< ' ID ของเจ้าของ:' << มัน << จบ ;
}
กลับ 0 ;
}

ในรหัสนี้เราใช้ a เวกเตอร์ของวัตถุ ใน C ++ เพื่อเก็บที่อยู่ของวัตถุที่ชื่อว่า 'เจ้าของ' แทนการแทรกวัตถุลงในเวกเตอร์โดยตรง ที่นี่เราใช้ตัวดำเนินการลูกศรเพื่อเข้าถึงสมาชิกของวัตถุ

บทสรุป

คอนเทนเนอร์ที่มีประโยชน์ใน C++ ที่ช่วยให้ผู้ใช้สามารถเก็บวัตถุประเภทเดียวกันหลายรายการในที่เดียวเรียกว่าเวกเตอร์ของวัตถุ ช่วยให้โค้ดของคุณมีประสิทธิภาพและยืดหยุ่นมากขึ้น นอกจากนี้ การใช้เวกเตอร์ของวัตถุ คุณสามารถจัดการและเข้าถึงข้อมูลที่ช่วยให้คุณเขียนโปรแกรมที่ซับซ้อนได้ง่ายขึ้นได้อย่างง่ายดาย