Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การใช้สัญลักษณ์ '&' ใน C ++ คืออะไร


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

ระดับบิตและ

ตัวดำเนินการระดับบิต AND (&) เปรียบเทียบแต่ละบิตของตัวถูกดำเนินการแรกกับบิตของตัวถูกดำเนินการที่สอง ถ้าทั้งสองบิตเป็น 1 บิตจะถูกตั้งค่าเป็น 1 มิฉะนั้น บิตจะถูกตั้งค่าเป็น 0 ตัวถูกดำเนินการทั้งสองเป็นบิตและตัวดำเนินการระดับบิตจะต้องเป็นประเภทอินทิกรัล

ตัวอย่าง

#include <iostream>  
using namespace std;
 
int main() {  
   unsigned short a = 0x5555;      // pattern 0101 ...  
   unsigned short b = 0xAAAA;      // pattern 1010 ...  

   cout << hex << ( a & b ) << endl;
}

ผลลัพธ์

สิ่งนี้ให้ผลลัพธ์ -

0

ที่อยู่ของตัวดำเนินการ

C++ จัดเตรียมโอเปอเรเตอร์สองตัว ได้แก่ ที่อยู่ของตัวดำเนินการ (&) และตัวดำเนินการทางอ้อม (*)

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

ที่อยู่ของ Operator (&) และเป็นส่วนเสริมของ *. เป็นตัวดำเนินการเอกพจน์ที่ส่งกลับที่อยู่ของตัวแปร(r-value) ที่ระบุโดยตัวถูกดำเนินการ ตัวอย่างเช่น

ตัวอย่าง

#include <iostream>
using namespace std;

int main () {
   int  var;
   int  *ptr;
   int  val;

   var = 3000;

   // take the address of var
   ptr = &var;

   // take the value available at ptr
   val = *ptr;
   cout << "Value of var :" << var << endl;
   cout << "Value of ptr :" << ptr << endl;
   cout << "Value of val :" << val << endl;

   return 0;
}

ผลลัพธ์

เมื่อโค้ดด้านบนถูกคอมไพล์และรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ -

Value of var :3000
Value of ptr :0xbff64494
Value of val :3000