c++中的作用域的使用

本文详细阐述了编程中变量的作用域和生命周期,包括全局变量、静态全局变量、局部变量和静态局部变量。全局变量在整个程序及其源文件中可见,而静态全局变量只在当前程序中可见。局部变量仅限于定义它的函数内部。内存分配涉及静态分配和动态分配,静态分配在编译时确定,效率高但灵活性低,动态分配则在运行时进行,需要使用new和delete管理内存。
摘要由CSDN通过智能技术生成

1、首先对于创建的变量来说,有两个属性特别重要:

(1)作用域 (2)以及生命周期

2、一般,作用域一般分为全局作用域、局部作用域、类作用域、语句作用域、文件作用域以及命名作用域;

全局变量:

作用域:整个程序还有其他的源文件 (使用extern)

生命周期:整个程序

存放:静态全局区,每次对其进行的更改会保留

静态全局变量:

作用域:对应的程序内

生命周期:整个程序

存放:静态全局区,每次对其进行的更改会保留

注:相比于全局变量,静态全局变量只是更改了其作用域

局部变量:

作用域:该函数内部,在函数的外部不能执行

生命周期:该函数调用期间,调用完毕进行回收;

存放:存放在栈上

静态局部变量:

作用域:该函数内部,在函数的外部不能执行

生命周期:整个程序执行期间

存放:存放在静态全局区

注:对于静态局部变量的更改会保留下来,如果重读调用的话,会改变他的值;

类作用域:

对于类作用域:肯定是作用域:为类;

调用其中的函数:必须显示的实例化对象,进行调用;

可以使用类名直接进行初始化,还可以使用指针进行初始化;

3、

内存的分配方式为静态分配以及动态的分配:

对于静态的分配:直接在程序中,或者是函数中进行创建;那么这个过程在编译的阶段就进行确定,

效率高,但是灵活性不高;

还可以使用动态分配的方式,在堆区使用new 的方式来创建对象,使用指针的方式进行接收;

注意这里需要使用delete来释放掉相对应的内存空间;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值