通过函数传递值或引用

时间:2014-10-23 11:55:29

标签: c++

这是C ++风格或正确性的问题。

假设您有functionA和functionB,将值传递给它不需要自己的functionA是正确还是好的样式,但需要知道它调用functionB,它(函数A)稍后调用它?

我无法直接引用在main中声明的值。

3 个答案:

答案 0 :(得分:3)

如果functionB需要该值,则有效地functionA 需要它。因此,它应作为参数传递给functionA

如果您担心创建价值副本,您可以随时通过引用或常量引用传递它。

答案 1 :(得分:0)

考虑封装调用functionB

的接口

答案 2 :(得分:0)

C ++中大变量的常见约定是使用指针。为了节省资源,你可以使用new初始化指向堆上变量的指针,如下所示:int *num = new int;这样你就不会传递一个大数组 - 例如 - 而是绕过内存中该数组的十六进制地址。