以下摘自:http://blog.csdn.net/jlnhyd/article/details/4842508
函数返回值是个引用,表示这个函数的调用可以被赋值。
例如
struct hdr_cmn {
..........
inline packet_t& ptype() { return (ptype_); }
..........
}
void
AODV::sendRequest(nsaddr_t dst) {
...........
struct hdr_cmn *ch = HDR_CMN(p);
...................
ch->ptype() = PT_AODV; //packet type 已经是aodv了
...............
}
结合自身实际,再举一个例子:
#include<iostream>
using namespace std;
struct A
{
int size_;
inline int& size() { return (size_); }
}a;
int main()
{
//A* a=new A();
a.size()=6;
printf("%d\n",a.size_);
return 0;
}
输出结果:6