Python是基于值
C/C++等一些是基于内存
先看看Python
改变了值,变量的地址便改变了
具有相同值的变量地址是一样的
>>> id(a)
1655991648
>>> a = 100
>>> id(a)
1655994528
>>> b = 100
>>> id(b)
1655994528
>>>
这也就是为什么下面这条语句可以简单地交换两个变量的值a, b = b, a
再来看看C++
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[])
{
int n1 = 10;
int n2 = 10;
// 0x61ff1c 0x61ff18
cout << &n1 << " " << &n2;
// 0x61ff14 0x61ff14
int n3 = 10;
cout << &n3 << " ";
n3 = 100;
cout << &n3;
system("pause");
return 0;
}