- 代码如下
 
#include <iostream>
int main() {
	int a = 10;
	std::cout << (int)&a << std::endl;
	return 0;
}
 
- 编译

这段代码是要将地址转化成整数类型,但是在编译时编译器告诉我们这是错的,因为在C++中,将指针转换为int类型的整数是一个不安全的操作,并且可能会导致数据丢失。
如果你需要以整数形式打印指针的地址,可以使用合适的整数类型,例如uintptr_t,这是一个无符号整数类型,足以容纳指针的位数。 - 下面是修改后的代码
 
#include <iostream>
int main() {
	int a = 10;
	std::cout << reinterpret_cast<uintptr_t>(&a) << std::endl;
	return 0;
}
                













![[职场] 公务员面试停顿磕巴常见吗 #学习方法#知识分享#知识分享](https://img-blog.csdnimg.cn/img_convert/6a8d774e96c7b24de73be84ee877ae44.jpeg)




