在C 中返回参考有效期参考是否有效
Is it valid to return a reference as a reference valid in C++
#include <iostream>
using namespace std;
int& fun1(int& ref)
{
ref = 30;
return ref;
}
int main()
{
int i = 10;
i = fun1(i);
cout << "Value of i:" << i << endl;
return 0;
}
输出:I:30
的值返回作为访问作为函数返回相同引用的访问的函数参数是否有效?根据我在Fun1中的理解(int&amp; ref(,将在堆栈中有一个自己的内存位置,并且返回ref的地址无效。
引用以各种方式行动,就好像它们是原始对象一样。这意味着获取参考的地址给出原始对象的地址并参考引用给出对原始对象的引用。
尽管有指针的指针,但没有参考的参考。
请注意i = fun1(i);
中的分配是多余的。在这种情况下,i
已经是30
。您只需致电fun1(i);
。
是的,很好。重要的是,指称人的寿命足够长。
相关文章:
- C++错误消息*成员参考.**初学者*
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- 参考资源文件VC++中的$(SolutionDir)
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 为什么在运算符重载时需要参考?
- 使 \page 和 \subpage 参考 doxygen 中的方法文档
- std::shared_ptr 自定义参考计数器
- 英特尔 TBB 程序不会终止,可能会误用参考计数器
- 避免在基于反向范围的for循环实现中悬挂参考
- 通用参考 l 值不复制对象
- 标准::enable_if和通用参考的使用差异
- 标准::积累参考?
- C++丢失了参考
- 我可以有一个 ELI5 作为参考和指针以及何时使用它们吗?
- 矢量的通用参考
- 为什么"fun(i)"被推导出为"fun<int&>"而不是"fun<int>",因为"i"是"int"的类型而不是参考?
- C++17 和静态临时生存期的参考扩展
- C++ 参考:这两个语句有什么区别?
- 如何理解 C++17 标准参考中的 [intro.object]/3? N4659 的
- 在C 中返回参考有效期参考是否有效