C++程式碼中開頭常看到using namespace
的敘述,其用途如下。
using
及namespace
皆為C++的關鍵字。
namespace
namespace
作用為定義一個命名空間,不同命名空間內的關鍵字可以重複。例如下面以namespace
定義命名空間foo
及bar
及所屬的變數名稱x
有不同的值,兩命名空間都可使用同樣的變數名稱x
,使用時在程式中在名稱前加上命名空間的修飾來引入。
main.cpp
#include <iostream>
using namespace std;
namespace foo {
int x = 1;
}
namespace bar {
int x = 10;
}
int main() {
cout << foo::x << endl; // 1
cout << bar::x << endl; // 10
return 0;
}
using
using
為將一個命名空間的名稱引入所在的程式區域中,如此即可省略命名空間的修飾。
例如下面使用using foo::y
則把命名空間foo
的變數名稱y
引入所在區塊,則該區塊引用該命名空間的實體名稱時即可省略命名空間的修飾。
main.cpp
#include <iostream>
using namespace std;
namespace foo {
int x = 1;
int y = 2;
}
int main() {
cout << foo::x << endl; // 1
using foo::y;
cout << y << endl; // 2
return 0;
}
using namesapce
using namespace
則為引入整個命名空間的名稱至所在區域,則引用該命名空間的名稱時皆可省略命名空間的修飾。
main.cpp
#include <iostream>
using namespace std;
namespace foo {
int x = 1;
int y = 2;
}
int main() {
using namespace foo;
cout << x << endl; // 1
cout << y << endl; // 2
return 0;
}
沒有留言:
張貼留言