1. 程式人生 > >namespace的用法和作用(轉載)

namespace的用法和作用(轉載)

在大型軟體開發專案中,型別和函式名衝突是常有的事,如:定義專用型別時就常常不只一次地使用相同的名字。為了避免這個問題。人們通常在程式碼中使用不同的詞綴,由此造成程式碼很難管理、使用、閱讀和編輯。碰到這種問題常常使人鬱悶非常而且容易出錯。看看下面的程式碼:  
   
  class   string   {    
                   
                    //這個類名雖然短小精幹,意思表達明確,但是它已經被別人使用,你不能再用它作為類名了!    
   
        //...  
  };  
   
  class   CMYExclusive_string   {    
   
                      //   這倒是個較安全的名字,但是太冗長乏味。不斷重複這樣的名字會影響自己的心情。               //   況且這樣處理還是有名字衝突的可能  
        //...  
  }  
   
  為了較好地解決這個問題,C++   提供了規定名字空間的手段,也就是用   namespaces   關鍵字。有了它,在自己程式碼中規範地命名型別和函式的自由度就大多了,有了它,你就可以充分使型別和函式的命名簡潔、易於理解、使用方便和安全。從而擺脫了哪些在定義和宣告中冗長乏味的詞綴。你可以在名字空間中對型別或者函式進行分類,為型別和函式的使用繫上安全帶,例如:    
  //   某個標頭檔案   vckbaseExcelSoft.h  
  namespace   vckbaseFSDUexcelSoft_   {  
   
        class   string   {  
                    //...  
                    };  
        class   vector   {  
                    //...  
                    };  
        //...etc.  
  }  
   
  接著可以象下面這樣存取型別資料:  
   
  #include   "vckbaseExcelSoft.h"  
   
  void   main()   {  
   
          using   namespace   vckbaseFSDUexcelSoft_;    
          string   s;   //   引用   名字空間   vckbaseFSDUexcelSoft_裡的   string   vckbaseFSDUexcelSoft_::string  
   
          //   下面又回到標準的   string    
          std::string   mySTDstr;    
  }

相關推薦

namespace用法作用(轉載)

在大型軟體開發專案中,型別和函式名衝突是常有的事,如:定義專用型別時就常常不只一次地使用相同的名字。為了避免這個問題。人們通常在程式碼中使用不同的詞綴,由此造成程式碼很難管理、使用、閱讀和編輯。碰到這種問題常常使人鬱悶非常而且容易出錯。看看下面的程式碼:         cl

Object類的用法作用

object類 用法 方法 屬性 getc 個人 返回 字符串 tcl 一: 現實世界中, 每個人都有自己的父親。類也是這樣,每個類都有一個父類,這個父類是 java.lang.Object。 因此,隨意創建一個類,其實也不是空的,起碼這個類中有Object類中的屬性和方法

js中window.location.search的用法作用

bst 地址 用法 屬性獲取 net bstr src log 協議 用該屬性獲取頁面 URL 地址: window.location 對象所包含的屬性 屬性描述 hash 從井號 (#) 開始的 URL(錨) host 主機名和當前 URL 的端口號 h

js運算符單豎杠“|”的用法作用及js數據處理

blank lan math float http fix www. rip 規則   很多朋友都對雙豎杠“||”,了如指掌,因為這個經常用到。但是大家知道單豎杠嗎?   看JavaScript實用技巧,js小知識文章時,看到了單豎杠“|”運算,對它很陌生。   學習並掌握

mybatis中@Param的用法作用

配置 pre tis 內容 RF 數值 package col ML   用註解來簡化xml配置的時候,@Param註解的作用是給參數命名,參數命名後就能根據名字得到參數值,正確的將參數傳入sql語句中   我們先來看Mapper接口中的@Select方法 packag

package的用法作用

關鍵字-package 格式,第一行,package 包名.子包名。子子包名 作用,告訴編譯器把當前原始檔的所有類在編譯生成.class檔案後,要儲存的包目錄結構是什麼 package 機構型別.結構名稱.專案名稱.模組名稱 前兩

HTML label基本用法作用效果

<label.../>用於表單元素中定義標籤進行說明, label並不生成請求引數所以不要給label指定value值 問題來了,普通文字就能作為標籤,為什麼要用label標籤呢? 因為label還有一個額外的效果,點選該標籤瀏覽器會自動把焦點轉移到標籤相關

@Autowired的用法作用

@Autowired的用法和作用 這個註解就是spring可以自動幫你把bean裡面引用的物件的setter/getter方法省略,它會自動幫你set/get。 <bean id="use

python路徑拼接os.path.join()函式用法作用

os.path.join()函式用於路徑拼接檔案路徑。 os.path.join()函式中可以傳入多個路徑: 會從第一個以”/”開頭的引數開始拼接,之前的引數全部丟棄。 以上一種情況為先。在上一種情況確保情況下,若出現”./”開頭的引數,會從”./”開頭的引數

android中泛型方法的用法作用

舉個例子 首先我的activity中  @Route(path = "/datainit/DataInitActivity") class DataInitActivity: BaseActivity(){ override fun onCreate(savedInstan

Mybatis中@Param的用法作用詳解

用註解來簡化xml配置的時候,@Param註解的作用是給引數命名,引數命名後就能根據名字得到引數值,正確的將引數傳入sql語句中我們先來看Mapper介面中的@Select方法?1234567package Mapper; public interface Mapper {

proguard-project.txt 檔案的用法作用

1、在安卓程式里根目錄下有個檔案:proguard-project.txt 這個檔案是混淆程式碼的工具。 讓proguard.project起作用的做法很簡單,就是在eclipse自動生成的defau

Java的try...catch的用法作用(為什麼要用try...catch)

當程式執行過程中發生錯誤時,就會“ 丟擲異常',丟擲異常比終止程式要靈活得多,這是因為可以提供一個“ 捕獲” 異常的處理器 (handler) 對異常情況進行處理。 如果沒有提供處理器,程式就會終止,並在控制檯上打印出一條資訊, 其中給出了異常的型別。可能在前面已經看到過一

sql語句中as的用法作用

最近做專案中,偶然發現在SQL語句中出現了as這個詞,一直以來沒怎麼關注是什麼意思,畢竟影響不大,今天有空,就在網上查了一些資料,大概有了一些的瞭解 我們的Sql語句在很多資料庫中都是通用的,比如像Mysql資料庫 Access資料庫. Oracle資料庫.  Sqlite資料庫 .甚至在我們的Exce

header() 函式的用法作用

定義和用法 header() 函式向客戶端傳送原始的 HTTP 報頭。 認識到一點很重要,即必須在任何實際的輸出被髮送之前呼叫 header() 函式(在 PHP 4 以及更高的版本中,您可以使用輸出快取來解決此問題): <html> <?php // 結果出錯 // 在呼叫 heade

mysql資料庫FULLTEXT索引的用法作用

注意事項:   1、MySQL 4.x版本及以上版本提供了全文檢索(備註:FULLTEXT)支援,但是表的儲存引擎型別必須為MyISAM。   2、建立方法:      修改表結構新增全文索引 ALTER TABLE article ADD FULLTEXT

php中名稱空間(namespace)的作用使用

1.名稱空間的作用: 在PHP中函式、類、常量是不允許同名的。為了解決這三者的同名問題,所以出現了名稱空間. 其實不僅僅是php,其他語言也有類似的使用。比如JavaScript中: 我們來詳細的講解一下PHP中的名稱空間: 語法:namespace 空間名\空間名;

SQL中distinct的用法 SQL Union作用

SQL Union作用 動態構造一個SQL語句然後執行,構造動態語句的查詢語句如下 SELECT REPLACE(WMSYS.WM_CONCAT(STR),',',' UNION ') FROM (SELECT 'SELECT class_no,stu_name,sex,age FROM ' |

C++虛基類的作用用法意義

教科書上面對C++虛基類的描述玄而又玄,名曰“共享繼承”,名曰“各派生類的物件共享基類的的一個拷貝”,其實說白了就是解決多重多級繼承造成的二義性問題。例如有基類B,從B派生出C和D,然後類F又同時繼承了C和D,現在類F的一個物件裡面包含了兩個基類B的物件,如果F訪問自己的從

conn.setAutoCommit()用法作用轉載

事務操作資料: (一) eg: 假如銀行轉賬系統 從張三的賬戶轉1000元到小羅的賬戶 這個操作需要分兩步 1.張三賬戶減少1000元 2.小羅賬戶增加1000元 假如於到斷電等等,而剛好張三減了1000,而此時小羅卻不增加。。。。可以想象銀行這下有事做了 所以