代码编写时:
#include <iostream>
using namespace std;
struct ID {
char *name;
int age;
};
int main() {
ID a;
cout << (long)(a.name) << endl;
cout << a.age << endl;
// cout << (a.name == nullptr) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果是:
0
0
Run Code Online (Sandbox Code Playgroud)
但是,当它写成:
#include <iostream>
using namespace std;
struct ID {
char *name;
int age;
};
int main() {
ID a;
cout << (long)(a.name) << endl;
cout << a.age << endl;
cout << (a.name == nullptr) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果似乎很奇怪:
140735032148552
1545300144
0
Run Code Online (Sandbox Code Playgroud)
这两个版本怎么会有很大差异?
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |