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

C ++の関数にオブジェクトを渡す方法は?


オブジェクトを関数に渡すには4つの方法があります。クラスXがあり、それを関数funに渡したいとしましょう。次に、-

値渡し

これにより、関数スコープにオブジェクトの浅いローカルコピーが作成されます。ここで変更したものは、渡されたオブジェクトには反映されません。たとえば、

宣言

void fun(X x);

電話

X x;
fun(x);

参照渡し

これにより、オブジェクトへの参照が関数に渡されます。ここで変更したものは、渡されたオブジェクトに反映されます。オブジェクトのコピーは作成されません。たとえば、

宣言

void fun(X &x);

電話

X x;
fun(x);

const参照を渡す

これにより、オブジェクトへのconst参照が関数に渡されます。ここでオブジェクトを直接変更/再割り当てすることはできません(ただし、そのメソッドを使用することはできます)。これは、関数にオブジェクトの読み取り専用コピーのみを持たせたい場合に役立ちます。オブジェクトのコピーは作成されません。たとえば、

宣言

void fun(X const &x);

電話

X x;
fun(x);

constポインタを渡す

これにより、オブジェクトへのconstポインタが関数に渡されます。ここでポインタを変更/再割り当てすることはできません。これは、関数にこのオブジェクトのアドレスのみをポインターに含める場合に役立ちます。オブジェクトのコピーは作成されません。たとえば、

宣言

void fun(X const *x);

電話

X x;
fun(&x);

constポインタを渡す

これにより、オブジェクトへのポインタが関数に渡されます。これは、オブジェクトへの参照を渡すことに似ています。オブジェクトのコピーは作成されません。たとえば、

宣言

void fun(X *x);

電話

X x;
fun(&x);

  1. JavaScriptで無名関数に引数を渡す方法は?

    以下は、JavaScriptの無名関数に引数を渡すためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>  

  2. NSUserDefaultsにカスタムオブジェクトを保存する方法は?

    この記事では、アプリケーションにカスタムオブジェクトを保存する方法を学習しますが、カスタムオブジェクトを保存する方法を学習する前に、カスタムオブジェクトとは何かを見てみましょう。 カスタムオブジェクトとは、クラスや構造、またはInt、Double、Stringなどのネイティブデータ型ではないその他のデータです。NSUserDefaultsへのデータの保存は3段階のプロセスです。 カスタムオブジェクトの作成 年齢変数と名前変数を持つカスタムクラスPersonを作成します。 class Person: NSObject, NSCoding {    var name: St