博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一大波放鄙视接近中
阅读量:4556 次
发布时间:2019-06-08

本文共 717 字,大约阅读时间需要 2 分钟。

一个个来,首先static

static成员变量只能类外初始化  type classname::var(=x);

static函数可以类里定义也可类外...

而貌似static 非成员函数的static只表示该函数仅该文件可见...

 

关于引用

引用要绑定实体,这个实体是 int &ra=func(); 语句等号右边的值,即函数func()的返回值(也是一个引用,而这个引用每次调用时在return 语句中被初始化为静态变量a),

所以,ra的实体是a。
代码:

程序代码:
#include <iostream>
using namespace std;
int & func()
{
static int a; //静态局部变量a的生命周期是全局的
static int j;
printf("&a=%ld,&j=%ld\n",&a,&j);
return a;//返回一个生命周期长于func函数执行期的变量
}
int main()
{
int i;
int &ra=func(); //ra为静态变量的别名
printf("&ra=%ld,&i=%ld\n",&ra,&i);
cout<<func()<<endl; //输出0 ,静态变量默认为0
func()+=8;     //作为左值使用
cout<<func()<<endl;//输出8
ra +=10;                  // 丧失了局部可见性
cout<<func()<<endl;//输出18
return 0;
}

可以证明ra的实体是a。

 

关于构造执行顺序 

先mark一下

 

转载于:https://www.cnblogs.com/cavehubiao/p/3341117.html

你可能感兴趣的文章
shell 日期参数
查看>>
package的使用
查看>>
括号生成
查看>>
前端--jstree--异步加载数据
查看>>
CSS定位深入理解 完全掌握CSS定位 相对定位和绝对定位
查看>>
网络体系结构
查看>>
练习4.13、4.14、4.15、4.16
查看>>
SAP库龄表
查看>>
PhantomJS 基础及示例 (转)
查看>>
20175316盛茂淞 2018-2019-2 《Java程序设计》第3周学习总结
查看>>
zookeeper安装
查看>>
js清空页面控件值
查看>>
Appium使用Python运行appium测试的实例
查看>>
django request bug
查看>>
二叉树_非递归先中后序_递归非递归求深度
查看>>
20181227 新的目标
查看>>
HDFS写流程
查看>>
生产环境服务器环境搭建+ 项目发布
查看>>
js按条件分类json数组,并合计同组数据(一维转换为二维)
查看>>
Exp6 信息搜集与漏洞扫描
查看>>