指令)来简化对名称空间中名称的使用。using声明使特定的标识符可用,uising编译指令使整个名称空
间可用。
using 声明由被限定的名称和它前面的关键字 using组成;
using Jill :: fetchi // a using declaration
using 声明将特定的名称添加到它所属的声明区域中。例如main()中的using声明Jill :: fetch将fetch添
加到main()定义的声明区域中。完成该声明后,便可以使用名称fetch代替Jjl:fetch。下面的代码段说明
了这儿点:
namespace Jill (
double bucket (double n) ( ... ]
double fetch:
struct Hill 4 ... H
char fetch:
int main()
using Jilliitetch;
double fetch:
cin Do fetchi
cin >> !: fetch:
// put fetch into local nanespace
// Error! Already have a local feteh
// read a value into Jill :: fetch
// read a valve into global fetch
由于using声明将名称加到局部声明区域中,因此这个范例避免了将另一个局部变量也命名为fetch。
另外,和其他局部变量一样,fetch也将覆盖同名的全局变量。
在函数的外面使用using声明时,将把名称添加到全局名称空间中:
void other ():
namespace Jiil [
double bcket (double n) [ ... |
double fetch:
struct Hill f ... H:
using Jill :: fetch;
int nain(
cin >> fetch;
other (|
// put fetch into global namespace
// read a valve into Jill :: fetch
void other ()
cout << fetch: // display Jill :: fetch
// places names in namespace atd
using声明使一个名称可用,而using编译指令使所有的名称都可用。using编译指令由名称空间名和它
前面的关键字using namespace 组成,它使名称空间中的所有名称都可用,而不需要使用作用域解析操作符;
using namespace Jack; // make all the names in Jack available
在全局声明区域中使用using 编译指令,将使该名称空间的名称全局可用,这种情况已出现过多次;
tinclude <loatream>
using namespace std: // make names available globally
在函数中使用using 编译指令,将使其中的名称在该函数中可用,下面是一个例子;
Int nain()
using namespace jacki // make names available in vorn()