2016-03-23 7 views
2

私はwxWidgetsのと、他のC++コードスタイルでこれを見てきた:あなたは、いくつかの値を使用して直接クラスを使用する場合これをプログラミングする際の名前は何ですか?

#include <iostream> 

class Foo { 
    int _x; 
    int _y; 
    public: 
     Foo() : _x(0), _y(0) {} 
     Foo (int x, int y) : _x(x), _y(y) {} 
     int get() const { return _x+_y; } 
}; 

int GetFoo (const Foo& f) { 
    return f.get(); 
} 

int main() { 
    Foo f1(2,3); // create object with values 
    std::cout << "Value1: " << f1.get() << '\n'; // access object method 
    std::cout << "Value2: " << GetFoo(Foo(3,7)) << '\n'; // How do you call this? 
    return 0; 
} 

です。私はという名前をオブジェクトとして直接クラスに渡しますが、プロパー用語を知りたいと思います。ありがとう。

+0

参照渡し – AchmadJP

答えて

5

おそらく、用語「一時的な値」または「一時的な」を探しているでしょう。

これは一般に、単一の式またはその一部の実行中にインスタンス化されるオブジェクトを記述します。その後、オブジェクトはすぐに破棄されます。

これはここで起こっていることです。

+0

お寄せいただきありがとうございます。 – Joel

1

機能

int GetFoo (const Foo& f) { 
    return f.get(); 
} 

一定の基準(const Foo&)を取り。用語の参照は、C++に固有のものです。一般的な用語はエイリアスです。同じインスタンスを表す2つの名前。 const修飾子は暗黙的な変換も有効にします。

GetFoo(Foo(3,7)) 

ファンクションコールの持続時間中に発生する一時オブジェクトを作成していますか。一時的なFoo(3, 7)には名前はありませんが、関数内でエイリアスまたは参照されています。

+0

ああ、私は見るが、それは破壊され、右か? – Joel

+0

@Joeはいそうです。 –

関連する問題