C/C++の宿題やらせてください。9代目
■ このスレッドは過去ログ倉庫に格納されています
0476デフォルトの名無しさん
NGNG参照渡:伝統的にPascalの世界のVar渡という用語も良く使われている。
参照渡の引数には変数しか使用出来ない。定数は不可である。
関数・手続き内部で引数変数に与えた処理はすべて呼び出し側で引数と
して与えた変数に施される。
一定以上の大きさを持った変数は、通常参照渡でしか渡せないことが普通。
値渡:それほど大きな変数でないプリミティブ型の変数・定数は関数の
引数に値渡で渡すことが出来る。
引数変数を引数で与えた定数・変数の値複製で初期化して関数を実行する
ことになる。Pascalのようにstring型のように「大きな」変数も値渡が
出来るような例もある。値渡は、引数として与えるダミー変数の作成を
呼び出し側に義務付けることを強要させることの多い参照渡に較べ
呼び出し側の記述をコンパクトにすることが出来る。
C:引数へのポインタ渡=参照渡と意図的に混同して使われているが
あくまでもポインタの値渡なので、取り扱いには通常の意味での参照渡に
加えて留意しなければならない点が増える。(初心者はポインタの演算と、
ポインタが指している内容の演算を混同し正常に動作しないプログラムを
作りがちである。)
C++:参照渡(&渡)が存在し利用されている。この場合ポインタ渡と
区別されなければならない。通常の言語の参照渡とほぼ同じ意味になる。
しかしポインタ渡と参照渡では、結果的に生成コードは殆ど違いが無い。
■ このスレッドは過去ログ倉庫に格納されています