当前位置:   article > 正文

作用域与生命周期_生命域和作用域

生命域和作用域

作用域与生命周期

在C++语言中名字有作用域,对象(变量)有生命周期。

  • 作用域
    名字的作用域是程序文本的一部分,名字在其中可见。换句话说就是你什么时候可以看见它并找到它。
  • 生命周期
    指的是程序执行过程中该对象存在的一段时间。

如果不理解这两个概念那么我们一般会犯很多低级的错误。比如返回局部对象的引用等。

  • 例1——返回局部数组或局部对象的引用(对生命周期概念不熟)
#include <iostream>
using namespace std;
//return local array
int* func1()
{
   
    int a[10] = {
   1, 2, 3};
    return a;
}
//return local object reference
int &func2()
{
   
	int x = 666;
	return x;
}

int main()
{
   
    int *p = func1()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/495761
推荐阅读
相关标签
  

闽ICP备14008679号