-1

以下に示す例でわかるように、参照渡しとアドレス渡しの両方を使用しています...

#include<iostream>
#include<string>

void passByAddress(int *a);
void passByReference(int &a);

int main() {
    int betty = 21;
    int setty = 45;

    passByAddress(&betty);
    passByReference(setty);

    std::cout << "Betty : " << betty << std::endl;
    std::cout << "Setty : " << setty << std::endl;
}

//Pass By Adress
void passByAdrress(int *a) {
    *a = *a + 5;
    //Memory Adress of a.
    //So gives hexa decimal.
    std::cout << "Address : " << a << std::endl;
    //Actual Value of adress
    std::cout << "Address's Value : " << *a << std::endl;
}
//Pass By Reference
void passByReference(int &a) {
    a = a + 5;
    //Memory Address of a.
    //So gives hexa decimal.
    std::cout << "Adrress : " << &a << std::endl;
    //Actual Value of address
    std::cout << "Address's Value " << a << std::endl;
}

したがって、ここでは、passbyaddressとpassbyreferenceの使用の違いを本当に理解していません..これらの両方と値による受け渡しの違いは理解していますが(値による受け渡しはメモリアドレスではなく変数のコピーを渡すため)、わかりませんこの両者の違いは何ですか。多くの人は、「参照渡しを使用する方がはるかに優れている」または「アドレス渡しを使用する必要がある場合を除いて、常に参照渡しを使用する」と言っています..しかし、どちらを使用するかを決定できるように、実際の違いを知りたい後のプロジェクトで使用します。

ありがとうございました。

4

1 に答える 1