gpt4 book ai didi

c++ - 将类对象指针传递给用于初始化 C++ 的函数

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

假设我有一个“A”类和这个函数:

void initializationFunction(A* classPointer)
{
...
...
classPointer = new A(.....);
}

我写:

A* classPointer;

然后我将这个指针传递给这个函数:

initializationFunction(classPointer);

除非我在函数声明中通过引用传递它,否则这将不起作用:

void initializationFunction(A*& classPointer);

我认为引用传递是针对非指针类型变量的。我的意思是您不需要通过引用传递数组...

感谢您的解释:)

最佳答案

是的,确实如此。您必须通过引用传递参数(或者您可以传递 A**)。

但最好的解决方案是编写 A 的构造函数,使您一开始就不需要此函数。也就是说,无论您在此函数中做什么,都应该在构造函数本身中进行。

但是,如果您不能编辑类,那么您可以这样做:

A *initializationFunction()
{
A *obj = new A(.....);
//...
return obj;
}

A *classPointer = initializationFunction();

在我看来,这种方法比你的好。

注意我没有更改函数的名称和其他变量。我想这不是帖子的重点。但我相信您会想要更好的真实代码名称。

关于c++ - 将类对象指针传递给用于初始化 C++ 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875277/

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