gpt4 book ai didi

c++ - 整数变量如何存储对整数的引用?

转载 作者:太空狗 更新时间:2023-10-29 21:45:09 24 4
gpt4 key购买 nike

我在 C++ 中搜索引用变量的解释,我发现了这个:

#include<iostream>
int a=10; //global 'a' so that fun doesn't return a reference of its local variable
int & fun();
int main()
{
int p = fun(); //line to be noted
std::cout << p;
return 0;
}

int & fun()
{
return a;
}

这行得通,这样做也是如此:

#include<iostream>
int a=10; //global 'a' so that fun doesn't return a reference of its local variable
int & fun();
int main()
{
int &p = fun(); //line to be noted
std::cout << p;
return 0;
}

int & fun()
{
return a;
}

我的问题是整数变量如何存储引用的值,就像第一个代码片段 [第 6 行] 中所做的那样。代码片段 2 [第 6 行] 中描述的语法是否正确,即我们应该定义一个引用变量 (int &p) 来携带引用,而不是一个常规的整数变量?编译器不应该给出错误或者至少是警告吗?我正在使用 GCC 4.7.1 64 位。

最佳答案

好的,明白了...... @chris:你是对的..当我这样做的时候:

int p = fun();
p++;
std::cout << p << endl << a;

显示结果为11和10。因此只有a的值被复制到p中,p并没有成为a的别名。但是当我用第二个代码尝试同样的操作时,它显示 a 和 p 的值都是 11。因此 p 成为 a 的别名。

关于c++ - 整数变量如何存储对整数的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18286613/

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