c++按引用传递:两级深度函数调用

发布于 2024-09-17 19:51:04 字数 432 浏览 4 评论 0原文

我在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

酒绊 2024-09-24 19:51:04

是的,如果您修改“func1”或“func2”中的“a”或“b”,应该可以。

Yes, it should if you modify 'a or 'b in 'func1 or 'func2.

究竟谁懂我的在乎 2024-09-24 19:51:04

是的,除了它们所指向的内容之外,全局变量 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文