作用域与生命周期

本文探讨了C++编程中名字的作用域和对象的生命周期。作用域决定了名字在程序中的可见区域,而生命周期则关乎对象在执行期间的存在时间。理解这两个概念能避免编程中的常见错误,如返回局部对象的引用。文章通过示例解释了不同作用域类型(如全局、外部和局部)以及对象生命周期的分类,并推荐了《C++ primer》作为参考文献。
摘要由CSDN通过智能技术生成

作用域与生命周期

在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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值