日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++语言基础(1)-命名空间

發布時間:2023/12/10 c/c++ 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++语言基础(1)-命名空间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

一個中大型軟件往往由多名程序員共同開發,會使用大量的變量和函數,當有兩個人都同時定義了一個名字相同的全局變量或函數的時候,若是把他們的代碼整合在一塊編譯,此時編譯器就會提示變量或函數重復定義,C++為了解決這個問題,便引用了命名空間(namespace)的概念。

一.語法格式

namespace 是C++中的關鍵字,用來定義一個命名空間,語法格式為:

namespace name{//variables, functions, classes }

name是命名空間的名字,它里面可以包含變量、函數、類、typedef、#define 等,最后由{ }包圍。

注意:也可以不用寫name,若定義了一個沒有名字的命名空間,則其內部的代碼只能在這個文件里面用。

namespace {int myAge = 0; }

二.使用方法

若要使用命名空間中定義的變量或函數,需要指名它們所在的命名空間,如:

#include <stdio.h> #include <iostream>using namespace std;namespace DJ{int myAge = 0; }int main() {DJ::myAge = 5;cout << "my age is: "<< DJ::myAge << endl;return 0; }

::是一個新符號,稱為域解析操作符,在C++中用來指明要使用的命名空間。

還可以這樣寫(直接使用using聲明):

#include <stdio.h> #include <iostream>using namespace std;namespace DJ{int myAge = 0; }int main() {using DJ::myAge;myAge = 5;cout << "my age is: "<< myAge << endl;return 0; }

在代碼的開頭使用using聲明DJ:myAge,這樣如果接下來的代碼中出現了未指明命名空間的myAge,就使用DJ:myAge,不過要使用別的命名空間中定義的myAge,則仍然需要顯示聲明。

還可以寫成這樣:

#include <stdio.h> #include <iostream>using namespace std;namespace DJ{int myAge = 0; }int main() {using namespace DJ;myAge = 5;cout << "my age is: "<< myAge << endl;return 0; }

如果命名空間 DJ中定義的其他的變量,樣具有 myAge變量的效果。

命名空間內部不僅可以聲明或定義變量,對于其它能在命名空間以外聲明或定義的名稱,同樣也都能在命名空間內部進行聲明或定義,例如類、函數、typedef、#define 等都可以出現在命名空間中。

三.std命名空間

新建一個純C++項目(QT)時,QT默認新建的main.cpp文件如下:

#include <iostream>using namespace std;int main() {cout << "Hello World!" << endl;return 0; }

其實是省略了cout的命名空間,也可以寫成這樣:

#include <iostream>int main() {std::cout << "Hello World!" << std::endl;return 0; }

?

總結

以上是生活随笔為你收集整理的C++语言基础(1)-命名空间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。