Sự khác biệt giữa int và int& trong C++ là gì?

Su Khac Biet Giua Int Va Int Trong C La Gi



Trong một ngôn ngữ lập trình, dữ liệu được lưu trữ trong bộ nhớ chính thông qua các biến để chúng ta có thể lấy, truy cập và thực hiện một số thao tác trên dữ liệu. C++ có các kiểu dữ liệu được sử dụng để phân bổ dữ liệu trong bộ nhớ bằng các biến. Các kiểu dữ liệu này cho biết loại dữ liệu và chúng được xác định trước trong trình biên dịch C++. Chúng ta cũng có thể tạo tham chiếu của một dữ liệu với một dữ liệu khác trong bộ nhớ bằng cách sử dụng & toán tử trong C++. Bài viết này sẽ làm sáng tỏ những điểm sau đây.

Hãy chứng minh từng truy vấn trên.







Int trong C++ là gì?

Trong C++, int là kiểu dữ liệu chỉ đề cập đến dữ liệu kiểu số nguyên. Int là từ khóa dành riêng trong C++ chỉ có giá trị nguyên để chúng ta lưu vào bộ nhớ và thực hiện một số thao tác. Trong C++, chúng tôi sử dụng kiểu dữ liệu int để khai báo bất kỳ giá trị dương, âm và 0 nào trong chương trình của mình.



Một biến kiểu số nguyên chiếm 4 byte trong bộ nhớ. Trong C++, việc khai báo biến kiểu số nguyên được đề cập dưới đây:



int Một = 10 ;





Ở trên, một biến kiểu số nguyên được tạo với tên là Một và một vị trí trong bộ nhớ chính có giá trị được lưu trữ là 10.

int& trong C++ là gì?

int& có nghĩa là tham chiếu đến một biến kiểu số nguyên. Điều đó có nghĩa là nó sẽ trỏ đến một biến kiểu số nguyên đã tồn tại trong bộ lưu trữ. Một biến tham chiếu phải được khởi tạo để liên kết với một mục thực sự cùng loại khi nó được khai báo. Sau đây là phần khởi tạo của int&:



int a = 5 ;
int & ref_var = a;

Trong trường hợp này, các ref_var là một tham chiếu đến Một . Bất kỳ thao tác nào trên ref_var đại diện cho một hành động trên Một Biến đổi. Ví dụ, nếu chúng ta gõ ref_var= 25; giá trị của a sẽ được thay đổi thành 25 vì ref_var biến chỉ là một bí danh cho Một Biến đổi.

Ví dụ: Sự khác biệt giữa int và int& trong C++

Để hiểu sự khác biệt giữa int và int&, hãy xem các ví dụ bên dưới:

#include
sử dụng không gian tên std;

int chính ( ) {
int a = 2 ; // tạo một biến số nguyên a và gán giá trị cho nó 2
int b = a; // tạo một bản sao của a và gán nó cho b
một = 4 ; // thay đổi giá trị của a thành 4
cout << Một << kết thúc; // đầu ra: 4
cout << b << kết thúc; // đầu ra: 2
trở lại 0 ;
}

đầu ra

Trong đoạn mã trên, việc thay đổi giá trị của Một không làm thay đổi giá trị của b , bởi vì b chỉ là một bản sao của Một được định nghĩa ở đầu hàm main.

#include
sử dụng không gian tên std;

int chính ( ) {
int a = 2 ; // tạo một biến số nguyên a và gán giá trị cho nó 2
int & ref_var = a; // tạo một tham chiếu đến một
một = 4 ; // thay đổi giá trị của a thành 4
cout << Một << kết thúc; // đầu ra: 4
cout << ref_var << kết thúc; // đầu ra: 4
trở lại 0 ;
}

đầu ra

Trong ví dụ này, ref_var là một tham chiếu đến Một . Khi giá trị của Một thay đổi, giá trị của ref_var cũng được thay đổi, bởi vì cả hai đều đề cập đến cùng một giá trị.

Sự khác biệt chính của int và int& trong ngôn ngữ C++

Bảng sau đây sẽ giải thích một số khác biệt chung giữa int và int&:

int int&
Một kiểu dữ liệu nguyên thủy và chứa một giá trị số là int. int& là một điểm truy cập vào một biến số đóng vai trò là bí danh cho biến thực tế.
Sử dụng int tương tác với giá trị thực của biến. Int& là bí danh của một số nguyên có thể được áp dụng để thay đổi biến thực tế.
Biến kiểu int nhận cấp phát bộ nhớ mới. Một int& không phân bổ bộ nhớ mới vì nó sử dụng bộ nhớ biến hiện có.
Phạm vi và thời lượng của các biến số nguyên là độc lập. Phạm vi và thời lượng của int& không được chỉ định. Chúng chỉ diễn ra khi biến tham chiếu int mà chúng đề cập đến xảy ra.

Phần kết luận

Giống như các ngôn ngữ lập trình khác, C++ cũng cung cấp nhiều chức năng đã được định nghĩa sẵn trong trình thông dịch C++. Một trong những kiểu dữ liệu phổ biến là int kiểu dữ liệu chấp nhận dữ liệu số nguyên và int& là một tham chiếu biến int thực hiện các thay đổi trực tiếp đối với int biến. Sự khác biệt chính giữa int int& là int khai báo một biến mới, trong khi int& là một biến tham chiếu thực hiện các thay đổi đối với các biến đã khai báo của int kiểu.