c++按引用传递:两级深度函数调用
我在 C++ 中有类似的代码。当我尝试运行它时它会中止。这种类型的代码可以工作吗?
在主函数中:
type* a = something
type* b = something
func1(a,b);
func1 声明:
void func1(type* &a, type* &b){
func2(a,b);
// do something
}
func2 如下:
void func2(type* &a, type* &b){
// do something
}
这些函数调用是否按其应有的方式工作。我应该修改 a 和 b 因为它们是通过引用传递的。
谢谢
I have code similar to this in c++. It aborts when i try to run it. Would this type of code work ?
In the main function :
type* a = something
type* b = something
func1(a,b);
func1 declaration:
void func1(type* &a, type* &b){
func2(a,b);
// do something
}
func2 is as follows
void func2(type* &a, type* &b){
// do something
}
Will these function calls work the way it should. I should have a and b modified because they are passed by reference.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,如果您修改“func1”或“func2”中的“a”或“b”,应该可以。
Yes, it should if you modify 'a or 'b in 'func1 or 'func2.
是的,除了它们所指向的内容之外,全局变量 a 和 b 还可以通过这些函数中的任何一个来更改。
Yes, the global variables a and b can be changed by either of these functions, in addition to the contents of whatever they're pointing at.