Computer >> Máy Tính >  >> Lập trình >> C ++

Toán tử một ngôi trong C ++


Toán tử một ngôi là các toán tử hoạt động dựa trên một toán hạng duy nhất để tạo ra một giá trị mới. Các toán tử một ngôi như sau:

Toán tử

Mô tả
Toán tử điều hướng (*)
Nó hoạt động trên một biến con trỏ và trả về giá trị l tương đương với giá trị tại địa chỉ con trỏ. Đây được gọi là con trỏ "dereferencing".
Địa chỉ của toán tử (&)
Toán tử địa chỉ một ngôi (&) nhận địa chỉ của toán hạng của nó. Toán hạng của toán tử address-of có thể là một bộ chỉ định hàm hoặc một giá trị l chỉ định một đối tượng không phải là trường bit và không được khai báo với bộ chỉ định lớp lưu trữ thanh ghi.
Toán tử cộng một bậc (+)
Kết quả của toán tử cộng một bậc (+) là giá trị của toán hạng của nó. Toán hạng của toán tử cộng một bậc phải thuộc kiểu số học.
Toán tử phủ định bậc nhất (-)
Toán tử - (một ngôi trừ) phủ định giá trị của toán hạng. Toán hạng có thể có bất kỳ kiểu số học nào. Kết quả không phải là giá trị.
Toán tử phủ định logic (!)
Toán tử phủ định logic (!) đảo ngược ý nghĩa của toán hạng của nó. Toán hạng phải thuộc kiểu số học hoặc kiểu con trỏ (hoặc một biểu thức được đánh giá là kiểu số học hoặc kiểu con trỏ). Toán hạng được chuyển đổi ngầm định thành kiểu bool.
Toán tử bổ sung của một (~)
Toán tử bổ sung của một người đôi khi được gọi là toán tử "bổ sung theo bit" hoặc "không theo bit", tạo ra phần bổ sung bitwise của toán hạng của nó. Toán hạng phải thuộc loại tích phân.
Toán tử tăng tiền tố (++)
Toán tử tăng tiền tố (++) thêm một vào toán hạng của nó; giá trị gia tăng này là kết quả của biểu thức. Toán hạng phải là một giá trị l không thuộc kiểu const. Kết quả là một giá trị l cùng kiểu với toán hạng.
Toán tử giảm tiền tố (-)
Toán tử giảm tiền tố (-) trừ một từ toán hạng của nó; giá trị giảm dần này là kết quả của biểu thức. Toán hạng phải là một giá trị l không thuộc kiểu const. Kết quả là một giá trị l cùng kiểu với toán hạng.
Toán tử truyền ()
Kiểu ép kiểu cung cấp một phương pháp để chuyển đổi rõ ràng kiểu của một đối tượng trong một tình huống cụ thể. Trình biên dịch xử lý biểu thức ép kiểu là kiểu-tên kiểu sau khi một bản đánh máy đã được tạo.
toán tử sizeof
Đây là một toán tử đơn nguyên thời gian biên dịch có thể được sử dụng để tính toán kích thước của toán hạng của nó.
toán tử mới
Đây là một toán tử cấp phát bộ nhớ được sử dụng để cấp phát bộ nhớ động.
toán tử xóa
Đây là một toán tử cấp phát bộ nhớ được sử dụng để phân bổ bộ nhớ đã được cấp phát động.


Các toán tử này có phép kết hợp từ phải sang trái. Biểu thức đơn nguyên thường liên quan đến cú pháp đứng trước hậu tố hoặc biểu thức chính.

Ví dụ

Hãy xem một ví dụ về các toán tử - (trừ) và ép kiểu () một bậc.

#include<iostream>
using namespace std;

int main() {
   int x;
   float y = 1.23;
   x = (int) y;
   x = -x;
   cout << x;
   return 0;
}

Đầu ra

Điều này cho kết quả -

-1