C++相談室 part69
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
900:デフォルトの名無しさん 09/06/11 01:59:13 typedefしたら分かりやすいか? typedef Node* PNode; PNode hp; void gotoNextNode(PNode pnode){ pnode = pnode->next; } int main{ // 略 gotoNextNode(hp); // 略 } hpは変更されない。これはほぼ>>896と同じ。 受け取ったPNode値への変更が呼び出し元に反映されるには、PNode* や PNode& で受け取らないと。 901:デフォルトの名無しさん 09/06/11 01:59:44 int型の変数である、iの値を変更したい場合に、 int型を指すことができるポインタ(int*)、もしくは参照(int&)で受けなければならない というのはわかっているってことね? だったら、こう置き換えてみたら? Node*型の変数である、hpの値を変更したいのであれば Node*型を指すことができるポインタ(Node**)、もしくは参照(Node*&)で受けなければならない 902:デフォルトの名無しさん 09/06/11 02:06:48 あー、typedefで何を言いたいかって考えたらなんとなく分かってきたわ。 単にポインタで受け取る時は値を変更する時にも使うから、 それと同じ状態になって関数を抜けるから無効になってるということで ポインタを変更したいときはPNode* や PNode& で受け取らないといけないって感じでおk?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5018日前に更新/243 KB
担当:undef