30/09/2018, 16:24

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

các huynh đệ cho mình hỏi :
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ố đó. ???

... viết 18:31 ngày 30/09/2018

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.

Tuấn Nguyễn viết 18:30 ngày 30/09/2018

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;

Bài liên quan
0