前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyC++52,using声明和using编译指令

EasyC++52,using声明和using编译指令

作者头像
TechFlow-承志
发布2022-08-26 17:21:00
2900
发布2022-08-26 17:21:00
举报
文章被收录于专栏:TechFlow

作者 | 梁唐

大家好,我是梁唐。

这是EasyC++系列的第52篇,来聊聊using声明和using编译指令。

using声明

C++当中提供了两种机制(using声明和using编译指令)来简化对名称空间中名称的使用。using声明使特定的标识符keys,using编译指令使整个名称空间可用。

using声明由关键字using和被限定的名称组成:

代码语言:javascript
复制
using A::fetch;

using声明将特定的名称添加到它所属的声明区域中,完成声明之后,我们可以使用fetch代替A::fetch了。

我们来看一个具体的例子:

代码语言:javascript
复制
namespace A {
    double bucket(double n) {..}
    double fetch;
    struct Hill {...};
}

int main () {
    using A::fetch;
    cin >> fetch;
    fetch += 1.0;
    A::Hill hill;
}

如果我们在函数外使用using声明,会将名称添加到全局名称空间中:

代码语言:javascript
复制
using A::fetch;

void test() {
    cout << fetch << endl;
}

int main () {
    cin >> fetch;
    fetch += 1.0;
    A::Hill hill;
}

using编译指令

using声明只能使一个名称可用,而using编译指令可以使得所有的名称都可用。using编译指令由名称空间和它前面的using namespace组成,它使得名称空间中的所有名称都可用。

如:

代码语言:javascript
复制
using namespace A;

在全局声明区域使用using编译指令,将使得该名称空间的名称全局可用。这种情况其实我们已经非常熟悉了,因为我们一直在用using namespace std

我们也可以在函数当中使用using编译指令:

代码语言:javascript
复制
int main () {
    using namespace A;
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coder梁 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • using声明
  • using编译指令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档