2012-02-07 4 views

答えて

4

trap.GetPDU()はオブジェクトを返し、そのオブジェクトに対してGetVarBindList()が呼び出されます。

trap.GetPDU().GetVarBindList() 

は、と等価である:objこれはまたMethod Chainingとして知られているtrap.GetPDU()

によって返されたオブジェクトである

obj.GetVarBindList() 

+0

'trap.GetPDU()'はオブジェクトまたは参照を返す可能性があります。メソッドGetVarBindList()を呼び出すためにさらに使用されます。 –

0

GetPDUが返すオブジェクト(または参照)を取得してから、GetVarBindListを呼び出しています。

SomeObject &PDU = trap.GetPDU(); 
SNMP_Sequence trapseq = PDU.GetVarBindList(); 
+0

必ずしも、 'GetPDU'がrvalueまたはconst参照であるとは限りません。 – Puppy

0

別のメンバーへのアクセスを含め、任意の式の結果にメンバ関数を呼び出すことは完全に合法的である、という表現が適切なタイプでなければなりません:のようなものと同等

std::vector<std::vector<std::vector<std::string>>> super_jaggy; 
// insert stuff here 
std::cout << super_jaggy.front().front().front().size(); // legal 
関連する問題