繁体   English   中英

一个对象访问c ++中的两个函数

[英]single object accessing two functions in c++

这段代码在做什么?

SNMP_Sequence trapseq = trap.GetPDU().GetVarBindList();

据我所知,一个对象一次只能引用一个成员函数。 这是怎么回事 trap.GetPDU().GetVarBindList()

trap.GetPDU()返回一个对象,并GetVarBindList()对象调用GetVarBindList()

trap.GetPDU().GetVarBindList()

等效于:

obj.GetVarBindList()

其中objtrap.GetPDU()返回的对象

这也称为方法链接

它检索GetPDU返回的对象(或引用),然后在其上调用GetVarBindList

等效于:

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

如果该表达式具有适当的类型,则在任何表达式的结果上调用成员函数是完全合法的,包括对该另一个成员的访问。

std::vector<std::vector<std::vector<std::string>>> super_jaggy;
// insert stuff here
std::cout << super_jaggy.front().front().front().size(); // legal

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM