47.命名空间namespace
生活随笔
收集整理的這篇文章主要介紹了
47.命名空间namespace
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
每個命名空間就是一個作用域。
命名空間是不連續的,存在則追加,不存在則創建。
內聯命名空間,可以使得最外層的命名空間直接使用內層任何一層的成員名字,而無需添加中間層的命名空間的名字。
未命名的命名空間中定義的成員具有靜態生命周期,聲明時創建,程序結束時銷毀。內層未命名的命名空間可以直接使用外層命名空間的名字直接訪問成員。
命名空間的別名
namespace abcdefj{void hhhh() {std::cout<<"hello"<<std::endl;}};namespace b = abcdefj;b::hhhh();命名空間與函數重載與二義性。
namespace a {namespace {void print(std::string &&s) { std::cout << "namespace::print" << std::endl; }}void print() { std::cout << "a::print" << std::endl; }}namespace b {void print(int &s) { std::cout << "b::print" << std::endl; } }namespace c{using namespace a;using namespace b;void print(double &&s) { std::cout << "c::print" << std::endl; } }int main() {using namespace c;print("meiyusb");print(2.3);system("pause");return 0; }?
總結
以上是生活随笔為你收集整理的47.命名空间namespace的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SIP协议状态码:480Temporar
- 下一篇: 原型模式、模板方法、迪米特法则、外观模式