3

整数へのポインターを受け取る関数があり、メインから整数変数への参照を渡す場合、これは値による呼び出しですか、それとも参照による呼び出しですか? サンプルコード:

#include <iostream>

using namespace std;

void fun(int *a){
//Code block
}

int main(){
    int a = 5;
    fun(&a);
    return 0;
}

上記のコードで、関数funの呼び出しは、値による呼び出しですか、それとも参照による呼び出しですか?

4

4 に答える 4

1

a があるアドレスを値で渡しています。

したがって、fun という名前の void で *a と入力すると、a の値にアクセスします。

しかし、私が言ったように、あなたは a への int ポインタを値で渡しています。

于 2015-05-06T17:11:09.333 に答える
1

へのポインターを値で渡していaます。

話している抽象化のレベルに応じて、ポインタで渡しaている、またはa「ハンドル」で渡していると言えます。より広い意味では、「参照渡しa」は厳密には正しくありませんが、「参照」は C++ 固有のものを意味するため、C++ では正しくありません。このコードには C++ 参照がありません。

于 2015-05-06T17:16:39.063 に答える