C++ 打印变量地址
1.介绍
// 指针类型参数 void funB(map<uint32_t,string>* mp){ (*mp)[5]="a";// 先解引用指针,然后再进行索引操作。[]优先级更高,所以*时要加括号 cout<<"funB: "<<static_cast<void *>(mp)<<"\n";// 转换成void *类型打印指针地址 } // 引用参数 void funA(map<uint32_t,string>& mp){ funB(&mp); cout<<"funA: "<<&mp<<"\n"; } int main() { map<uint32_t,string> mp; cout<<&mp<<"\n"; funA(mp); funB(&mp); cout<<mp.size(); // funB(nullptr); // 访问空指针,会导致coredump cout<<endl; return 0; }
运行结果:
0x7fffba1a5a30 funB: 0x7fffba1a5a30 funA: 0x7fffba1a5a30 funB: 0x7fffba1a5a30 1
都是同一个地址,同一个变量。