您的位置:首页 > 其它

考虑这个简单的函数

2016-09-26 13:48 183 查看
他以下部分建立在部分1.4b --在局部范围内一看。

当讨论变量时,将范围和持续时间的概念分离出来是很有用的。变量的范围决定了一个变量是可访问的。一个变量的持续时间决定创建和销毁它的地方。这两个概念往往是联系在一起的。

块内部定义的变量称为局部变量。局部变量具有自动持续时间,这意味着它们被创建(和初始化,如果相关)在定义的点,并被破坏时,他们被定义在退出块。局部变量有块作用域(也称为局部作用域),这意味着它们在声明点的范围内输入范围,并且在它们被定义的块的结束时离开范围。
考虑这个简单的函数:

1
2
3
4
5
6
7
8
int main()
{
int i(5); // i created and initialized here
double d(4.0); // d created and initialized here

return 0;

} // i and d go out of scope and are destroyed here

因为我和D是在定义的主要功能块的定义,他们都是被main()执行完毕。

嵌套块中定义的变量将被破坏,只要内部块结束:
int main() // outer block
{
int n(5); // n created and initialized here

{ // begin nested block
double d(4.0); // d created and initialized here
} // d goes out of scope and is destroyed here

// d can not be used here because it was already destroyed!

return 0;
} // n goes out of scope and is destroyed here
void someFunction()
{
int value(4); // value defined here

// value can be seen and used here

} // value goes out of scope and is destroyed here

int main()
{
// value can not be seen or used inside this function.

someFunction();

// value still can not be seen or used inside this function.

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: