C++using声明和using编译指令
1.using声明
C++当中提供了两种机制(using声明和using编译指令)来简化对名称空间中名称的使用。using声明使特定的标识符keys,using编译指令使整个名称空间可用。
using声明由关键字using和被限定的名称组成:
using A::fetch;
using
声明将特定的名称添加到它所属的声明区域中,完成声明之后,我们可以使用fetch代替A::fetch了。
我们来看一个具体的例子:
namespace A {
double bucket(double n) {..}
double fetch;
struct Hill {...};
}
int main () {
using A::fetch;
cin >> fetch;
fetch += 1.0;
A::Hill hill;
}
如果我们在函数外使用using
声明,会将名称添加到全局名称空间中:
using A::fetch;
void test() {
cout << fetch << endl;
}
int main () {
cin >> fetch;
fetch += 1.0;
A::Hill hill;
}
2.using编译指令
using
声明只能使一个名称可用,而using编译指令可以使得所有的名称都可用。using编译指令由名称空间和它前面的using namespace
组成,它使得名称空间中的所有名称都可用。
如:
using namespace A;
在全局声明区域使用using编译指令,将使得该名称空间的名称全局可用。这种情况其实我们已经非常熟悉了,因为我们一直在用using namespace std
。
我们也可以在函数当中使用using编译指令:
int main () {
using namespace A;
}
到此这篇关于C++using
声明和using
编译指令的文章就介绍到这了,更多相关C++using声明和using编译指令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341