作用域的程序设计概念

 我来答
我爱罗dp茴頾
2016-05-27 · TA获得超过152个赞
知道答主
回答量:193
采纳率:0%
帮助的人:125万
展开全部

作用域(scope)
作用域在许多程序设计语言中非常重要。
通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少名字冲突。
对于对象而言(其他也是一样的),在main函数中,对象的作用域为他所在的最近的一对花括号内。在后花括号处析构函数被调用;全局的对象的作用域为声明之后的整个文件,析构函数在最后被调用。另外,临时产生的对象在使用完后立即会被析构。下面是一个简单的例子。
#include <iostream>
using namespace std;
class X {
public:
X() {
cout << X::X()\n;
}
~X() {
cout << X::~X()\n;
}
};
X f1(X x1) //完全不使用引用
{
cout << f1(X f)\n;
return x1;
}
X& f2(X& x2) //完全使用引用
{
cout << f2(X f)\n;
return x2;
}
X Globle_X; //全局版本
int main()
{
cout << --------\n;
{
X Local_X; //局部版本
cout << --------\n;
}
cout << --------\n;
X Normal_X;
f1(Normal_X);
cout << --------\n;
f2(Normal_X);
cout << --------\n;
}
程序执行结果为:
X::X()
--------
X::X()
--------
X::~X()
--------
X::X()
f1(X f)
X::~X()
X::~X()
--------
f2(X f)
--------
X::~X()
大家对照着就能看出来了……

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彩驰科技
2024-11-22 广告
互联网算法备案平台,专业代理代办,快速响应,高效办理!专业代理代办,快速办理,让您省时省力!专业团队为您提供优质服务,让您的互联网算法备案更顺利!咨询电话:13426378072,13436528688... 点击进入详情页
本回答由彩驰科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式