4
int *i = new int(1);
cout << i << endl; 

将打印整数的地址。

    char *c="cstring";
    cout << c << endl;
    cout << &(*c) << endl;

都会打印“cstring”。我想这种行为可以简单地用ostream& operator<< (ostream& out, const char* s );IOstream 库中的实现来解释。

但是如果你真的想打印 c 引用的数据的地址怎么办?

4

3 回答 3

8
cout << reinterpret_cast<void*>(c) << endl;

要不就

cout << (void*)c << endl;
于 2012-07-18T08:54:29.167 回答
1

尝试将其转换为const void*

cout << static_cast<const void*>(c) << endl;
于 2012-07-18T08:56:06.163 回答
0

刚刚怎么样

cout << &c << endl;

为我工作:)

于 2012-07-18T11:24:35.853 回答