gpt4 book ai didi

c++ - C++函数定义中的 "Class* &cls"是什么意思?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:19 30 4
gpt4 key购买 nike

我知道Class *cls是指针,Class &cls取地址,但是什么是

void fucction1( Class *&cls)

如果我有 Class c,我应该将什么传递给 function1()

谢谢!

最佳答案

此外,什么Jameshis response 中解释,让我再补充一点。

虽然您可以编写仅在 C++ 中完全有效的 Class* &(对指针的引用),但您不能编写 Class& *(指向引用的指针),因为您不能拥有指向任何类型的指向引用的指针。在 C++ 中,指向引用的指针是非法的。

§8.3.2/4 从语言规范中读取,

There shall be no references to references, no arrays of references, and no pointers to references.


If I have Class c, what should I pass to function1()?

你可以这样写你的调用代码:

Class *ptrClass;

//your code; may be you want to initialize ptrClass;

function1(ptrClass);

//if you change the value of the pointer (i.e ptrClass) in function1(),
//that value will be reflected here!
//your code

关于c++ - C++函数定义中的 "Class* &cls"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632528/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com