Ký hiệu &được sử dụng như một toán tử trong C ++. Nó được sử dụng ở 2 nơi khác nhau, một dưới dạng bitwise và toán tử và một là địa chỉ con trỏ của toán tử.
Bitwise VÀ
Toán tử AND bitwise (&) so sánh từng bit của toán hạng đầu tiên với bit đó của toán hạng thứ hai. Nếu cả hai bit đều là 1, thì bit được đặt thành 1. Ngược lại, bit được đặt thành 0. Cả hai toán hạng của toán tử AND bitwise phải thuộc loại tích phân.
Ví dụ
#include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a & b ) << endl; }
Đầu ra
Điều này cho kết quả -
0
Địa chỉ của nhà điều hành
C ++ cung cấp toán tử hai con trỏ, đó là Địa chỉ của toán tử (&) và toán tử hướng (*).
Con trỏ là một biến chứa địa chỉ của một biến khác hoặc bạn có thể nói rằng một biến chứa địa chỉ của một biến khác được cho là "trỏ tới" biến kia. Một biến có thể là bất kỳ kiểu dữ liệu nào bao gồm một đối tượng, cấu trúc hoặc lại chính con trỏ.
Địa chỉ của Toán tử (&), và nó là phần bù của *. Nó là một toán tử một ngôi trả về địa chỉ của biến (giá trị r) được chỉ định bởi toán hạng của nó. Ví dụ,
Ví dụ
#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; }
Đầu ra
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau -
Value of var :3000 Value of ptr :0xbff64494 Value of val :3000