C++ 指针使用函数后,如何更改指针指向的对象

C++ 指针使用函数后,如何更改指针指向的对象,c++,pointers,C++,Pointers,指针'a'使用此函数之前,它指向对象'b'。使用此函数后,如何使其指向对象“c”。如果您可以将几个参数传递给函数(),您可以始终这样实现它: Object *a; Object c; Object b; a = &b; a-> function(); void Object::function(Object* pObject, Object& rObject) { pObject = &rObject; } 在工作代码中,请按如下方式使用: Ob

指针
'a'
使用此函数之前,它指向对象
'b'
。使用此函数后,如何使其指向对象“c”。

如果您可以将几个参数传递给
函数()
,您可以始终这样实现它:

Object *a;

Object c;

Object b;

a = &b;

a-> function();
void Object::function(Object* pObject, Object& rObject) {
    pObject = &rObject;
}
在工作代码中,请按如下方式使用:

Object *a;

Object c;

Object b;

a = &b;

a-> function();
void Object::function(Object* pObject, Object& rObject) {
    pObject = &rObject;
}
不过,从实际意义上讲,您仍然可以更好地使用以下功能:

Object *a;

Object c;

Object b;

a = &b;              //'a' is pointing to 'b'

a->function(a, c);   //'a' is now pointing to 'c'

a
在调用
函数本身之前指向
c
。对不起,我指的是a=&b。然后我想将“a”改为指向“c”,只需在调用函数后分配它,就像您现在在调用函数之前所做的那样。问题是,只需编写
a=&c
a
现在指向
c
这是一个XY问题。