想象以下场景:
class ABC
{
public:
int abc;
};
ABC& modifyABC(ABC& foo)
{
foo.abc+=1337;
return foo;
}
void saveABC(ABC& bar, std::vector<ABC*>& list)
{
list.push_back(&modifyABC(bar));
}
int main()
{
ABC foobar;
std::vector<ABC*> ABCList;
saveABC(foobar,ABCList);
return 0;
}
modifyABC() 返回对 ABC 的引用(它在内部也是某种指针,AFAIK)。“地址” & 运算符现在是否返回指向引用地址或引用后面的实际对象的指针?