gpt4 book ai didi

c++ - 了解引用和取消引用运算符?

转载 作者:行者123 更新时间:2023-11-28 01:04:59 26 4
gpt4 key购买 nike

谁能帮我理解引用和取消引用运算符?

到目前为止,这是我阅读/理解的内容:

    int myNum = 30;
int a = &myNum; // a equals the address where myNum is storing 30,
int *a = &myNum; // *a equals the value of myNum.

当我看到下面的代码时,我感到很困惑:

    void myFunc(int &c)   // Don't understand this. shouldn't this be int *c?
{
c += 10;
cout<< c;
}

int main()
{
int myNum = 30;
myFunc(myNum);
cout<< myNum ;
}

int &c 有传入内容的地址吗?这不是传入的值。

所以当我执行 c+=10 时,它会将 10 添加到内存地址而不是值 30。这样正确吗?

但是......当我运行这个......当然有所有正确的包含和东西......它有效。它打印 40。

最佳答案

实际上 myFunc 的函数参数列表中的 & 不是地址运算符,也不是按位与运算符。它是一个引用指标。这意味着在 myFunc 中,参数 c 将是传递给它的任何参数的别名。

关于c++ - 了解引用和取消引用运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687941/

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