อะไรคือความแตกต่างระหว่าง int และ int& ใน C ++?

Xari Khux Khwam Taek Tang Rahwang Int Laea Int Ni C



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

เรามาสาธิตการค้นหาข้างต้นทีละรายการ







int คืออะไรใน C ++

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



ตัวแปรประเภทจำนวนเต็มใช้ 4 ไบต์ในหน่วยความจำ ใน C++ การประกาศตัวแปรประเภทจำนวนเต็มจะกล่าวถึงด้านล่าง:



นานาชาติ = 10 ;





ด้านบน ตัวแปรประเภทจำนวนเต็มถูกสร้างขึ้นด้วยชื่อ และที่ในหน่วยความจำหลักที่มีค่าเก็บเป็น 10

int& ใน C ++ คืออะไร

int& หมายถึงการอ้างอิงถึงตัวแปรประเภทจำนวนเต็ม หมายความว่ามันจะชี้ไปที่ตัวแปรประเภทจำนวนเต็มที่มีอยู่แล้วในหน่วยเก็บข้อมูล ตัวแปรอ้างอิงต้องเริ่มต้นเพื่อเชื่อมโยงไปยังรายการจริงที่เป็นประเภทเดียวกันเมื่อมีการประกาศ ต่อไปนี้เป็นการเริ่มต้นของ int&:



int = 5 ;
นานาชาติ & ref_var = ก;

ในกรณีนี้ ref_var เป็นการอ้างอิงถึง . การดำเนินการใด ๆ บน ref_var แสดงถึงการดำเนินการ ตัวแปร. เช่น ถ้าเราพิมพ์ ref_var= 25; ค่าของ a จะเปลี่ยนเป็น 25 เนื่องจาก ref_var ตัวแปรเป็นเพียงนามแฝงสำหรับ ตัวแปร.

ตัวอย่าง: ความแตกต่างระหว่าง int และ int& ใน C++

หากต้องการทำความเข้าใจความแตกต่างระหว่าง int และ int& โปรดดูตัวอย่างด้านล่าง:

#รวม
ใช้เนมสเปซ std;

int หลัก ( ) {
int = 2 ; // สร้างตัวแปรจำนวนเต็ม a และกำหนดค่า 2
int ข = a; // สร้างสำเนาของ a และกำหนดให้ b
ก = 4 ; // เปลี่ยนค่าของ a เป็น 4
ศาล << << ท้าย; // เอาต์พุต: 4
ศาล << << ท้าย; // เอาต์พุต: 2
กลับ 0 ;
}

เอาต์พุต

ในโค้ดด้านบนนี้ การเปลี่ยนค่าของ ไม่เปลี่ยนค่าของ , เพราะ เป็นเพียงสำเนาของ ซึ่งกำหนดไว้ที่จุดเริ่มต้นของฟังก์ชันหลัก

#รวม
ใช้เนมสเปซ std;

int หลัก ( ) {
int = 2 ; // สร้างตัวแปรจำนวนเต็ม a และกำหนดค่า 2
นานาชาติ & ref_var = ก; // สร้างการอ้างอิงถึง
ก = 4 ; // เปลี่ยนค่าของ a เป็น 4
ศาล << << ท้าย; // เอาต์พุต: 4
ศาล << ref_var << ท้าย; // เอาต์พุต: 4
กลับ 0 ;
}

เอาต์พุต

ในตัวอย่างนี้ ref_var เป็นการอ้างอิงถึง . เมื่อค่าของ มีการเปลี่ยนแปลงค่าของ ref_var ก็เปลี่ยนไปเช่นกัน เพราะทั้งคู่อ้างถึงค่าเดียวกัน

ความแตกต่างที่สำคัญของ int และ int& ในภาษา C++

ตารางต่อไปนี้จะอธิบายความแตกต่างทั่วไประหว่าง int และ int&:

นานาชาติ int&
ชนิดข้อมูลที่เป็นแบบพื้นฐานและมีค่าตัวเลขอยู่คือ int int& เป็นจุดเชื่อมต่อไปยังตัวแปรตัวเลขที่ทำหน้าที่เป็นนามแฝงสำหรับตัวแปรจริง
การใช้ int โต้ตอบกับค่าจริงของตัวแปร Int& เป็นนามแฝงสำหรับจำนวนเต็มที่สามารถใช้เพื่อเปลี่ยนตัวแปรจริง
ตัวแปรประเภท int รับการจัดสรรหน่วยความจำใหม่ int& ไม่ได้จัดสรรหน่วยความจำใหม่ เนื่องจากใช้หน่วยความจำตัวแปรที่มีอยู่
ขอบเขตและระยะเวลาของตัวแปรจำนวนเต็มเป็นอิสระต่อกัน ไม่ได้ระบุขอบเขตและระยะเวลาของ int& เกิดขึ้นเฉพาะในขณะที่ตัวแปรอ้างอิง int ที่พวกเขาอ้างถึงเกิดขึ้น

บทสรุป

เช่นเดียวกับภาษาการเขียนโปรแกรมอื่นๆ C++ ยังมีฟังก์ชันการทำงานมากมายที่กำหนดไว้แล้วในตัวแปลภาษา C++ ประเภทข้อมูลที่ได้รับความนิยมประเภทหนึ่งคือ นานาชาติ ชนิดข้อมูลที่รับข้อมูลจำนวนเต็มและ int& เป็นการอ้างอิงตัวแปร int ที่ทำการเปลี่ยนแปลงโดยตรงกับ นานาชาติ ตัวแปร ความแตกต่างหลักระหว่าง นานาชาติ และ int& เป็น int ประกาศตัวแปรใหม่ ในขณะที่ int& เป็นตัวแปรอ้างอิงที่ทำการเปลี่ยนแปลงตัวแปรที่ประกาศของ นานาชาติ พิมพ์.