人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C++の質問です

char * Ptr = NULL;

abc( (char *&)Ptr )

と記載した場合、abcに渡されるのは、
Ptr の内容 NULLでしょうか?
Ptr と言うエリアのアドレスでしょうか?

abc( (char *)Ptr )
abc( (char **)&Ptr )
ならば判るのですが・・・・・

●質問者: gin106
●カテゴリ:コンピュータ インターネット
✍キーワード:ABC C++ Char アドレス エリア
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● qwerty
●60ポイント ベストアンサー

強いていえば、「Ptr と言うエリアのアドレス」の方が正解です。

C++流の言い方をすれば、「charポインタへの参照」が渡ります。

「abc( (char **)&Ptr )」と動作は似ています。以下のサンプルコードを追いかけてみると、仕組みがわかると思います。



char *hoge = "abcdefg";

void abc(char *&p)

{

p = hoge;

}

int main(int argc, char **argv)

{

char * Ptr = NULL;

abc( (char *&)Ptr );

puts(Ptr);

return 0;

}


http://q.hatena.ne.jp/1271310501

◎質問者からの返答

有り難う御座います、理解出来ました

しかし

この使い分けの思想は、何でしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ