打印字符数组的地址
int *i = new int(1);
cout << i << endl;
将打印整数的地址.
char *c="cstring";
cout << c << endl;
cout << &(*c) << endl;
都将打印cstring".我想这种行为可以简单地用 ostream& 的实现来解释.运算符<<(ostream& out, const char* s );
在 IOstream 库中.
Will both print "cstring". I guess this behavior can simply be explained with the implementation of ostream& operator<< (ostream& out, const char* s );
in the IOstream Library.
但是如果你真的想打印 c 引用的数据的地址怎么办?
But what to do if you actually want to print the address of the data c refers to?
推荐答案
cout << reinterpret_cast<void*>(c) << endl;
或者只是
cout << (void*)c << endl;
相关文章