関数
最終更新:
atachi
-
view
値渡しと参照渡し [#w9bb3e4d]
オブジェクトは参照渡しによって行われる。
アトミックな型(intなど)は値渡しによって行われる。
int main() {
int a = 10;
Console.Write("a={0}", a); // "a=10" が出力
f(a);
Console.Write("a={0}", a); // "a=10" が出力
}
static f(int i) { // 値渡し
i = 100;
}
引数にrefキーワード;を使用することで、アトミック型も参照渡しとすることができる。
int main() {
int a = 10;
Console.Write("a={0}", a); // "a=10" が出力
f(ref a); // 呼び出し側も、参照渡しを明示する
Console.Write("a={0}", a); // "a=100" が出力
}
static f(ref int i) { // 参照渡し
i = 100;
}