c++ - 您更喜欢哪种方式发送参数?

标签 c++ c programming-languages

假设你有一个函数:

void fun(int *a, int *b);

您希望以哪种方式发送参数?

(1.)

int x, y;
fun(&x, &y);

(2.)

int *x, *y;
fun(x, y);

其他方式有什么问题,或者两者都一样,他们的行为也一样?

最佳答案

如果你想在栈上分配变量,通常你使用前者,如果你在堆上为它们分配内存,则使用后者。堆栈通常更快,而堆通常更大。所以一般来说,您经常使用第一种模式,只有在处理巨型数组或非常大的对象时才使用后者。

关于c++ - 您更喜欢哪种方式发送参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5090988/

相关文章:

c++ - 检查学生是否年满 18 岁

c++ - 具有多个枚举的C++运行时类型切换

c - 没有返回类型定义的 main() 函数给出警告

java - Java 类型推断何时产生无限类型?

programming-languages - 用连字符分隔的大小写的名称是什么?

c++ - 如何重载调用自身重载版本的函数?

c++ - 从 Visual Studio 构建/运行 Lua

algorithm - 在哪些语言中,关联数组是使用红黑树而不是哈希表实现的?

c - 为什么直接比较字符串失败,但是使用 char* 成功

c - 如何在模板引擎(预处理器)中模拟 C 逻辑和语法?