假设你有一个函数:
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/