วิธีการคัดลอก vector ของ c++ แบบง่าย ๆ

สมมติว่ามี vector ตัวหนึ่งที่ต้องการคัดลอก สามารถทำได้ง่าย ๆ คือ ตั้งชื่อของตัวแปรขึ้นมาแล้ว ใช้โอเปอเรเตอร์ = ในการคัดลอกดังตัวอย่างบรรทัดที่ 4

vector<int> a ;
for(int i=0; i< 10 ;i++)
 a[i] = 10-i;
vector<int> b = a;
for(int i=0; i < 5;  i--)
 a.pop_back();

ในที่นี้ผลลัพธ์ของ a และ b ที่ได้จะแตกต่างกันดังนี้

a={10,9,8,7,6}
b={10,9,8,7,6,5,4,3,2,1}

เพราะโดยหลักแล้วการสร้างตัวแปรถ้าไม่ใช่ตัวแปรพื้นฐาน การใช้เครื่องหมาย = จะถือเป็นการ copy by value นั่นเอง

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

Up ↑

%d bloggers like this: