C++中static用法之一(只在程序启动的时候初始化一次,后续不在初始化)(函数内调用同名外部变量用作用域解析运算符::)

C++中static定义静态变量时,只在程序启动的时候初始化一次,后续不在初始化,且定义的该变量只能在该文件中使用,而不能夸文件使用。要想在其它文件中使用全局变量,则需要在定义的文件中使用extern关键字进行定义,并且在使用的其它文件中,同样用extern关键字进行申明,然后才可以使用。当然,如果在同一个文件中,同名的局部变量和全局变量共存,则该函数内自动使用局部变量,想要使用全局变量,则要作用域解析运算符::进行调用。下面是一些示例。

一、static静态变量用法

1.1在函数内部使用static用法

在Qt的按钮槽函数内添加如下代码:

void Widget::on_pushButton_10_clicked()
{
    static int a=0;
    int b=2;
    qDebug()<<"a++="<<a++<<"\t"<<"b++="<<b++;
}

1.2结果如下图所示

 

每次点击一次按钮,则输出一次内容。其中静态变量a除了在程序启动时初始化一次,后面不在初始化。而局部变量(或成自动变量)b每调用一次函数,则初始化一次。

二、用作用域解析运算符::调用同名的全局变量下图所示

外部变量int c=10;在同名的局部变量int c=6中想要被调用,则要用作用域解析运算符::调用,即::c,结果输出为10。

 

参考内容:

《C++ Primer Plus》(第6版)中文版  304-316页(参考:模板函数章节)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三公子Tjq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值