为什么加了int就能显示地址呢


#include 
int main()
{
    char* str{ (char*)"123456" };
    std::cout << "不加int转换" << str<"加了int转换"  <<(int)str;
    system("pause");

}

为什么加了int就能显示地址呢

  • char * 强转为 int 会丢失精度的,我这里编译器直接报错了

img

  • 你要地址,可以直接取地址呀
std::cout <<"加了int转换 "  << &str;
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^