Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么';*的含义是什么;一起使用_C++ - Fatal编程技术网

C++ 什么';*的含义是什么;一起使用

C++ 什么';*的含义是什么;一起使用,c++,C++,在上面的示例中,*和&sing都用于函数参数,如*&,任何主体都可以解释它是引用还是指针的意思吗?它是对指针的引用 在幕后,编译器将传递指针的地址 虽然您的示例没有显示,但引用通常用于 更改传递的参数(在本例中为指针) 保存对象的不必要副本(使用常量引用时) 当您需要修改指针,而不仅仅是指针指向的数据时,您应该向指针传递引用。与任何其他变量一样。它表示对指针变量的引用 您可以传递指针类型的变量,方法可以传递该变量的值。这意味着您可以更改原始指针指向的对象。它被称为ref to pointer。

在上面的示例中,*和&sing都用于函数参数,如
*&
,任何主体都可以解释它是引用还是指针的意思吗?

它是对指针的引用

在幕后,编译器将传递指针的地址

虽然您的示例没有显示,但引用通常用于

  • 更改传递的参数(在本例中为指针)
  • 保存对象的不必要副本(使用常量引用时)

当您需要修改指针,而不仅仅是指针指向的数据时,您应该向指针传递引用。与任何其他变量一样。

它表示对指针变量的引用


您可以传递指针类型的变量,方法可以传递该变量的值。这意味着您可以更改原始指针指向的对象。

它被称为
ref to pointer
。 它与PTR类似于PTR,但在C++语言中与REF和PTR有一些不同。
class parent
{ 
    protected:
        int a;
};

class child : public parent
{
    public:
    void addOne(parent * &);
};

void child::addOne(parent * &parentClass)
{
     a=5;
    }

int main()
{
    parent a;
    child b;
    parent* ap = &a;
    b.addOne(ap);
}