我在Visual C++應用程序這是什麼意思在C++
遇到這個extern map<string, rpcfn_type> mapCallTable;
或
map<string, string>
是什麼意思?沒有地圖的事情,但
<string, string>
部分
我在Visual C++應用程序這是什麼意思在C++
遇到這個extern map<string, rpcfn_type> mapCallTable;
或
map<string, string>
是什麼意思?沒有地圖的事情,但
<string, string>
部分
這些都是模板參數; map
是一個類模板,只有在告訴它將使用的類型之後它纔會完成。第一種是鍵的類型,第二種是將通過鍵存儲的數據的類型。
+1只有幾句話才能說明問題:) – ralphtheninja 2011-05-04 20:30:03
您不能單獨使用<string, string>
零件,因爲它是map
的修飾符。
map
是模板類型,並且<string, string>
引用它使用的類型。 map<string, string>
表示map
,其關鍵類型爲string
,其值類型也爲string
。
std::map
是一個模板。您可以使用它創建一個具有密鑰和與該密鑰相關的一些數據的類型。尖括號是指定這兩種類型的位置,所以(例如),map<string, string>
定義了一種類型,它使用一個字符串作爲關鍵字,並且具有與第一個字符串關聯的另一個字符串。
一個這也許更容易理解會是這樣的:
struct person {
string name;
string email_address;
phone_number home;
phone_number mobile;
};
map<string, person> people;
這讓我(例如)使用暱稱爲重點,以查找姓名,電子郵件地址,電話號碼等的人。
那麼很難看到這些部分分開。請參閱http://www.cplusplus.com/reference/stl/map/或者更好的http://www.uow.edu.au/~nabg/ABC/ABC.html – sehe 2011-05-04 20:27:43
它們是模板參數,它的映射字符串轉換爲字符串或字符串轉換爲第一個示例中的rpcfn_type – forsvarir 2011-05-04 20:27:58
在編寫任何更多的Visual C++應用程序之前,您可能需要[閱讀一本好書](http://stackoverflow.com/questions/388242/the -definitive-C-書指南和列表)。 – 2011-05-04 20:30:57