引用变量中的接收对象
Receiving object in the reference variable
可能的重复项:
指向引用的指针和指向指针的引用之间的区别
你好 我无法理解get(Event*& pEvent)
...它是否将对象 pEvent 的地址传递给 pEvent
的引用 ..(Event*& pEvent)
......引用将作为函数中的本地范围存在,不是吗......
void classA::func()
{
Event* pEvent = NULL;
if ( get((pEvent) )
{
......//definition;
}
}
bool ClassA::get(Event*& pEvent)
{
...//definition;
}
foo(someType& o)
表示传递对象的引用而不是对象的副本。在您的情况下,将传递对Event
指针的引用。基本上,这意味着函数内部的更改将使对正在传递的变量的更改对函数的调用者可见。例如
void get(Event* e)
{
e = null;
}
void get2(Event*& e)
{
e = null;
}
如果您致电他们:
Event *e = new Event();
get(e);
// e has not changed
get2(e);
// e is null now
get(Event*& pEvent)
表示通过引用接收指针pEvent
。所以现在指针本身可以在函数内部修改。
p = &obj; // p points to obj
get(p); // p = pEvent is modified to 0
// now outside p points to '0'
如果它getEvent(Event* pEvent)
,那么你不能修改指针本身。因此,无论您在get()
内部分配给pEvent
什么,都不会对其进行修改。
相关文章:
- 你能重载对象变量名本身返回的内容吗
- 为什么我可以使用 memcpy 将一个对象变量复制到另一个对象变量
- 如何使用std::lower_bound比较对象变量,而不使用第二个对象进行比较
- 将私有对象变量与用户输入的变量进行比较
- 具有已定义操作重载的 C++ 非类型化值对象/变量库
- 如何对对象数组进行排序,而不考虑对象变量类型
- 在功能中设置对象变量
- 如何创建对象变量,以便每次分配新的指针
- C++ FileIO 以读取和写入对象变量
- 私下声明的对象变量的突变器/访问器方法
- C++ 列表中的对象变量在迭代过程中不会更新
- 稍后使用私有对象变量时如何初始化数组(初始化对象后)
- 通过向量更改对象变量的值
- C 全局对象变量内存释放
- 基本数据类型变量 VS 对象变量
- C 复制分配运算符,用于参考对象变量
- c++从列表中移除元素,并将其分配给对象变量
- 我们是否需要在C++中同步局部对象变量
- 点运算符和箭头运算符之间的区别 结构对象变量 在 C 或 C++ 中创建树
- 无法访问在 std 回调中传递的对象变量