C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++で値渡しと参照渡しのどちらが良いですか?


C ++では、さまざまな方法で引数を関数に渡すことができます。これらのさまざまな方法は-

です
  • 値による呼び出し
  • 参照による呼び出し
  • 住所による電話

アドレスによる呼び出しは参照による呼び出しと呼ばれることもありますが、C++では異なります。アドレスによる呼び出しでは、ポインター変数を使用して正確なメモリアドレスを送信しますが、参照による呼び出しでは、参照変数(その変数のエイリアス)を渡します。この機能はCには存在しません。その効果を得るには、ポインターを渡す必要があります。

このセクションでは、値による呼び出しよりも参照による呼び出しの利点と、それらを使用する場所について説明します。

値による呼び出し

値による呼び出しでは、引数として渡される実際の値は、何らかの操作を実行した後も変更されません。値による呼び出しを使用すると、その変数のコピーがメモリのスタックセクションに作成されます。値が変更されると、そのコピーの値が変更され、実際の値は同じままです。

サンプルコード

#include<iostream>

using namespace std;

void my_function(int x) {
   x = 50;
   cout << "Value of x from my_function: " << x << endl;
}

main() {
   int x = 10;
   my_function(x);
   cout << "Value of x from main function: " << x;
}

出力

Value of x from my_function: 50
Value of x from main function: 10

参照による呼び出し

参照による呼び出しでは、引数として渡される実際の値は、何らかの操作を実行した後に変更されます。参照による呼び出しを使用すると、その変数の参照のコピーがメモリのスタックセクションに作成されます。参照を使用して値を取得します。したがって、参照を使用して値を変更すると、実際の変数の値が変更されます。

サンプルコード

#include<iostream>
using namespace std;

void my_function(int &x) {
   x = 50;
   cout << "Value of x from my_function: " << x << endl;
}

main() {
   int x = 10;
   my_function(x);
   cout << "Value of x from main function: " << x;
}

出力

Value of x from my_function: 50
Value of x from main function: 50

参照による通話はどこで使用しますか?

  • 参照による呼び出しは、主に、渡された引数の値を呼び出し元関数に変更する場合に使用されます。

  • 1つの関数が返すことができる値は1つだけです。関数から複数の値が必要な場合は、この方法でそれらを出力引数として渡すことができます。


  1. WhatsApp vs Telegram:どちらが良いですか?

    通信業界の高度な技術は、多くのインスタントメッセンジャーアプリケーションにつながりました。 WhatsAppとTelegramのどちらを使用するかを選択するのは困難です。この記事では、これら2つのプログラムの類似点と相違点を学び、個人的および専門的な使用に適したプログラムを特定します。これらのツールのセキュリティ、プライバシー機能などのさまざまな側面に基づいたディスカッションを目撃します。以下のコンテンツをすばやく閲覧して、ニーズに最適なメッセンジャーアプリを見つけてください。 パート1:テレグラムとWhatsApp:はじめに 電報 Telegramメッセージングアプリは、20

  2. Xbox One X と Xbox One S:どちらが優れている?

    8 11 月、Microsoft は、待望のこれまでで最も強力なゲーム コンソール「Xbox One X」をついにリリースしました。これには、Xbox One S の値下げも伴いました。ただし、どちらのコンソールも洗練されたデザインで、4k コンテンツを再生でき、名前が似ています。では、なぜ価格に違いがあるのでしょうか。 2 つのうちどちらが優れているか、また One X に値札の価値があるかどうか? この記事では、両方のコンソールのいくつかの機能について説明し、それらがどのように異なるか、または似ているかを理解してもらいます. コンソール間の共通機能 以下に、両方のコンソールに共通する