第十一節,命名空間namespace

2021-09-07 21:58:33 字數 985 閱讀 6239

命名空間可以把不同的方法分散到不同的檔案去實現,如果你會objective-c,他的作用和裡面的類目有異曲同工之妙。當然了也有很多不同的地方,首先要明白的是,命名空間並不是乙個類,你擴充套件他的方法並不是和類目一樣在擴充套件乙個類的方法。

如果你學過net開發,獲取你會對這個命名空間有更好的理解。

namespace test

void test::printfstr()

我的習慣是一般會直接在命名空間裡面定義函式或者類的成員方法,然後再命名空間的外部去實現這些方法或者函式。這樣會使命名空間看著更加的整潔。

namespace是定義命名空間的關鍵字  test是命名空間的名稱。

int main(int argc, const char * ar**)

如果命名空間是在別的檔案中引用還需要在此檔案中匯入一句話

using namespace test;

這句話的作用,就是引用此命名空間。

當然了,細心的哥們可能會意識到上面的這段**有一些錯誤,就是

int value = 0;

using test::value;

這兩句會出現錯誤。

首先我們要明白,在命名空間中定義的變數具有全域性性,如果你在該檔案中使用了此命名空間,那麼此檔案中得變數名不能與此命名空間有衝突的地方,如果兩個變數名稱相同的話會出現報錯的情況。

namespace tt = test;

tt::printfstr();

上述是為乙個命名空間取別名的方法。

namespace

未命名空間有一定的侷限性,只能在本檔案中使用。

每乙個檔案中只能有乙個未命名空間

說了這麼多,我感覺未命名空間有點和static類似.

第十一節 過載 11

php4中已經有了過載的語法來建立對於外www.cppcns.com部物件模型的對映,就像j a和com那樣.php5帶來了強大的物件導向過載,允許程式設計師建立自定義的行為來訪問屬性和呼叫方法.過載可以通過 get,set,and call幾個特殊方法來進行.當zend引擎試圖訪問乙個成員並沒有找...

第十一節std atomic原子操作

互斥量 多執行緒程式設計中保護共享資料 鎖,操作共享資料,開鎖 有兩個執行緒,對乙個變數進行操作,這個執行緒讀,另乙個執行緒往變數中寫值。int atomvalue 5 讀執行緒a int tmpvalue atomvalue atomvalue代表的是多個執行緒之間要共享的變數寫執行緒b atom...

MySql 第十一節 事務隔離級別

同乙個應用程式中的多個事務或不同應用程式中的多個事務在同乙個資料集上併發執行時,可能會出現許多意外的問題,這些問題可分為如下三種型別 不可重複讀 non repeatable read 已知有兩個事務a和b,a 多次讀取同一資料,b 在a多次讀取的過程中對資料作了修改並提交,導致a多次讀取同一資料時...