获取对函数返回的引用的指针
pointer getting reference to a return of a function
假设我们有一个范围,其中定义了一个变量,并且一个范围更大的指针获取该变量的引用。当我们离开作用域时,知道指针是在外部作用域(例如类成员)中定义的,会发生什么。
{
int a = 6;
pointa = &a; //defined out of this scope
}
//what happens here, pointa is still defined in this scope
编辑:我的问题是关于一个更具体的案例,我找不到答案(不过感觉答案就在悬空指针的解释中)。
假设foo()是一个返回双精度的函数。我试过这个:
int* p;
p = &foo();
但随后p变为空。你能解释一下这和一个悬空的指针有什么关系吗?
当我们离开作用域时,知道指针是在外部作用域(例如类成员)中定义的,会发生什么。
指针变为悬空指针。
取消对它的引用以访问对象的成员、成员变量以及成员函数,将导致未定义的行为。
相关文章:
- C++取消引用指针.为什么会发生变化
- 深层复制具有自引用指针的类
- Visual c ++,使用字符串引用/指针调用 dll 函数
- std::unordered_map::提取引用/指针失效
- 为什么在引用指针时将 const 放在 & 符号的左侧有效,而在右侧则无效?
- 区分接受常量参数的函数引用/指针和与函数参数同名的非常量参数
- 如何在 c++ 中使用带有数学运算的引用/指针?
- 了解通过引用传递取消引用指针时C++堆/堆栈分配
- 取消引用指针并立即为其分配变量,导致分段错误
- 如何获取指向类(而不是对象)的引用/指针
- 将类型参数传递给自引用指针
- 我应该如何定义返回指针的函数?(引用指针与指针指针)
- 在析构函数内取消引用指针时出现分段错误
- 来自引用指针的内存泄漏
- 引用指针后面的值
- 无法取消引用指针
- 引用指针调用成员函数
- 未定义的引用指针的变量模板在clang中功能,而不是GCC
- 取消引用指针以创建数组的副本
- 有关启动引用指针的引用的问题