C++中,根据数据保存在内存中的时间长短,分为四种不同的方案来存储数据。
1.自动存储持续性
2.静态存储持续性
3.线程存储持续性(C++11),不介绍。
4.动态存储持续性
—————————————————————————————————————————————————————
然而在介绍这四种不同的方案之前,先介绍两个名词。
1.作用域:描述了对象或者函数在多大的范围内可见。
2.连接性:连接性描述了变量名称如何在不同单元间共享,连接性为外部的的名称可以在文件间共享,连接性为内部的名称则只能在同一个文件中的函数共享。
—————————————————————————————————————————————————————
一、自动存储持续性
>1.自动变量(局部变量):
在函数或者代码块中声明定义的变量存储持续性为自动,作用域为局部,没有连接性,由系统栈分配内存。
自动变量具有隐藏(hide)同名变量的特性
int main()
{
int number = 5;
{
cout << "number is: " << number << " number at: " <<&number << endl;
int number = 10;
cout << "number is: " << number << " number at: " <<&number << endl;
}
return 0;
}
<