K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>>呼び出し側で、通常の値渡しと同じように現状の値をスタックに積み、 >>>関数から戻って来たところで、呼び出し側でコピーを行えばよいのでは。 >>そうですそうです。 >>なので「コピー先(元)がどこ?」って情報がどこかには必要ですよね。 > >ええと、C(C++?)風擬似言語で、 > >void hoge(int &a) ←変数引数の宣言 >{ > printf("%d", a); > a = 10; >} > >int main() >{ > int b = 20; > > hoge(b); >} > >と書いたとき、 > >(1)通常のCの関数呼び出しと同様、main側で、bをスタックに積む。 >(2)よって、hoge()のprintf()では、20が表示される。 >(3)hoge()内の「a = 10;」により、引数aに10が設定されて、リターン。 > >さて、リターンした後ですが、main()側は、aとb両方のアドレスを >知っているわけです。なので、bのアドレスをスタックなどに積む必要は >ないのでは、と言いたかったわけですが。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!