最終更新:2015-04-27 (月) 05:23:08 (1605d)  

関数呼び出し はてなブックマークを見る
Top / 関数呼び出し

CLR

  • 既定ではすべて値渡し
    • 参照型のオブジェクトが渡された時はポインタが値として渡される
    • 値型の場合はインスタンスのコピーが渡される

C♯

  • 参照渡し
    • out - 呼び出され側オブジェクトを初期化する必要がある
    • ref - 呼び出し側でオブジェクトを初期化する必要がある

C言語/関数

  • 値渡し
    void func(int a){
      a=10://呼び出し元には影響しない
    }
  • ポインタ渡し?
    void func(int* a){
      *a=10://int型のポインタのアドレスの値を10にする
    }
  • C言語では、あくまでも値渡ししか出来ないが、アドレスを渡すことを慣習的に参照渡しと呼ぶことがある

C++

  • ポインタ渡し?値渡しも使える
  • 参照渡しが使える
    void func(int& a){
      a=10://*演算子を使わなくて済むからスッキリ!
    }
  • 参照で渡された構造体のメンバは.でアクセスできる
  • 関数内で値を変更しない場合はconst指定する