gpt4 book ai didi

C++ 需要解释这个函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:09 25 4
gpt4 key购买 nike

<分区>

今天在用C++编程的时候,我注意到了这个现象:

int main()
{
int a = 42;
func (a);

cout << a << endl;
}

void func (int x)
{
x = 5;
}

当然输出是 42。否则要得到 5 作为输出我可以使用地址重写函数:

void func (int &x)
{
x = 5;
}

这是我的理解,但是当我这样做的时候:

int main()
{
int a[2][2] = { {2,2}, {2,2} };
func (a);

cout << a[1][2] << endl;
}

void func (int x[2][2])
{
x[1][2] = 5;
}

输出实际上是 5,但对我来说这是无法解释的。为什么 func 应该影响 main 的任何变量?仅仅因为它是一个二维数组?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com