【发布时间】:2013-07-17 23:52:35
【问题描述】:
当一个函数需要一个指针作为参数(而不是指针引用的变量)时,这仅仅是因为传递给函数的值的大小吗?
我可以理解有人想要传递指向数组或结构的指针,而不是传递整个数组或结构,但他们做出此决定的其他原因是什么?例如,一个函数需要一个指向 int(4 个字节)而不是 int(4 个字节)本身的指针。
【问题讨论】:
-
尝试编写一个交换两个值的函数,例如
int a = 1, b = 2; "swap(a, b);",然后是a == 2 && b == 1。 -
哪种语言,C 或 C++?例如,在 C++ 中,您可以通过引用传递参数,而在 C 中则不能。
-
在 64 位机器上传递一个指向任何东西的指针实际上是 8 个字节
标签: c++ c pointers parameters