Tham trị và tham biến trong C++ nó khác nhau như thế nào?

các huynh đệ cho mình hỏi : :wink:
Tham trịtham biến trong C++ nó khác nhau như thế nào ? cách dùng ra sao ?

Tại sao 1 chương trình khi chạy có tham trị và 1 chương trình chạy có tham biến, thì kết quả lại ra giống nhau.

vì lý do gì ta phải phân biệt sự truyền tham số đó. ??? :disappointed_relieved:

2 Likes

Bạn coi qua ví dụ cơ bản này:

#include <iostream>
using namespace std;

int main() {
	
	int number1 = 5;
	cout << "number 1: " << number1 << endl;
	
	int& number2 = number1; //number2 is a reference of type int
							//assign number1 to number2
	int number3 = number1; //number3 is just a variable has type int
							
	cout << "number 2: " << number2 << endl;
	cout << "number 3: " << number3 << endl;
	
	//modify value of number1
	number1 = 1;
	cout << endl;
	//and then i show you value of number2
	cout << "number 2: " << number2 << endl;
	cout << "number 3: " << number3 << endl;
	
	return 0;
}

Tham trị và tham biến cũng tương tự như thế thôi.

2 Likes

Tham trị đơn giản là chỉ gán giá trị của biến vào tham số hàm . Như vậy tham số trong hàm thay đổi nhưng biến cũng chẳng ảnh hưởng.
VD như kiểu gán 2 biến này:
int a = 5;
int b = a;
b++;
printf(“a = %d”,a); // a vẫn là 5

Tham chiếu thì ko phải gán giá trị của biến vào tham số của hàm. Mà tham số sẽ chạy đến nằm cùng địa chỉ với biến . Như vậy tham số sẽ cùng địa chỉ với biến được truyền. Như vậy tham số bây giờ cũng có thể coi là biến được truyền với định danh khác. Mọi thay đổi trong tham số sẽ làm ảnh hưởng trực tiếp đến biến bên ngoài.
VD như kiểu gán 2 biến này:
int a = 5;
int &b = a;
b++;
printf(a = %d",a); // a = b = 6;

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?