在C++中输出对象在内存中的地址的方法是,把指向它的指针/引用转换为相应的相应的void*类型,然后得到的就是它在内存中的地址了。

#include<bits/stdc++.h>
using namespace std;

int main()
{
    const char* const word = "again";

    //输出char*的内容
    cout<<word<<endl;
    //输出char*在内存中的地址
    cout<<static_cast<const void*>(word)<<endl;

    string s = "xc";
    cout<<s<<endl;
    cout<<static_cast<void*>(&s)<<endl;
    cout<<static_cast<const void*>(&s)<<endl;
}

注意,const类型的对象只能转换为const void*,而非const的对象可以转换为const void*,也可以转换为void*.

转载请注明来源:https://www.longjin666.top/?p=909

欢迎关注我的公众号“灯珑”,让我们一起了解更多的事物~

你也可能喜欢

发表评论