Tại sao đoạn code này lại không ra giá trị là 3
#include <iostream>
int main(){
int count = 2;
int sochan = count;
sochan = 3;
std::cout<< count;
return 0;
}
- Biến
sochan và count được lưu tại 2 vùng nhớ khác nhau trên máy tính
- Lệnh
sochan = count sẽ thực hiện việc copy giá trị của vùng nhớ biến count đưa vào vùng nhớ biến sochan
=> Vì vậy biến count không bị thay đổi giá trị khi biến sochan thay đổi
Sử dụng tham chiếu để in ra giá trị 3
#include <iostream>
int main(){
int count = 2;
int &sochan = count; // Khai biến tham chiếu
sochan = 3;
std::cout<< count;
return 0;
}
int &sochan = count; lệnh này tạo ra biến sochan là biến tham chiếu đến vùng nhớ của biến count, hai biến được lưu tại 1 vùng nhớ giống nhau.
=> Vì vậy biến count bị thay đổi giá trị khi biến sochan thay đổi