ในภาษาโปรแกรม ข้อมูลจะถูกจัดเก็บไว้ในหน่วยความจำหลักผ่านตัวแปร เพื่อให้เราสามารถเรียกค้น เข้าถึง และดำเนินการบางอย่างกับข้อมูลได้ 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& เป็นตัวแปรอ้างอิงที่ทำการเปลี่ยนแปลงตัวแปรที่ประกาศของ นานาชาติ พิมพ์.