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 に答える