首先看一段代码!!!
#include <iostream>
using namespace std;
int n = 10,m = 77777;
struct test{
int n = 9;
void print(int n){
cout << this->n << endl;
cout << n << endl;
cout << m << endl;
}
};
test t;
void print(int n,test t){
cout << n <<endl;
n = 30;
cout << n <<endl;
int a = t.n;
cout << a <<endl;
t.print(6666);
return;
}
int main(){
print(33333,t);
cout << n;
return 0;
}
结果为
可以看出
1、如果全局变量作为函数的参数传递,那么这个函数会会略全局变量
2、this.n用于结构体或者类,指向当前类的那个变量,因此在结构体或者类里面的方法的形参是有冲突的话,可以用this.n指向方法外的那个变量,这就是我混合理解倒置误会的原因。