C言語なら、オレに聞け! <2>

このエントリーをはてなブックマークに追加
913通りすがり
>>911-912
int mona(int &a)の&はaが参照型であることを示しますが、演算子では
ありません。
参照渡しは禁じ手ではありませんが、最近はconst参照以外を嫌う傾向も
あるようです。それと、gotoは何も禁じ手ではありません。

機械語レベルの話ですが、これはどんなプロセッサを使っているかや、
どういう局面で使っているかに依存します。
例えばインライン関数の場合にはスタック操作が全くない場合も考えられ
ますし、多くのプロセッサは最初にいくつかの引数をレジスタで渡すので、
やはりスタック操作は発生しません(mona関数の中で他の関数を呼び出し
たり、複雑な処理を行う場合には、mona関数の内部でスタックに詰まれる
と思います)。
914通りすがり:2001/05/13(日) 08:03
肝心なことを書き忘れていました。
&による参照型を使えるのはC++です。
915通りすがり:2001/05/13(日) 08:19
>>912
もしかして、push popって値をスタックに積むと思っていませんか?
スタック渡しであれ、レジスタ渡しであれ、実際に引数として渡すのは
アドレスです。念のため。