string與cstring有什麼區別
<string>是C++標準庫標頭檔案,包含了擬容器class std::string的宣告(不過class string事實上只是basic_string<char>的typedef),用於字串操作。
<cstring>是C標準庫標頭檔案<string.h>的C++標準庫版本,包含了C風格字串(NUL即"\0"結尾字串)相關的一些型別和函式的宣告,例如strcmp、strchr、strstr等。<cstring>和<string.h>的最大區別在於,其中宣告的名稱都是位於std名稱空間中的,而不是後者的全域性名稱空間。
看定義就知道了,string是新標準,定義了namespace std;而cstring雖然也是新標,但是定義中包含的是string.h。
string中可以進行+ = += >等運算,而cstring中不能進行相關運算。
string與cstring有什麼區別
<string>是C++標準庫標頭檔案,包含了擬容器class std::string的宣告(不過class string事實上只是basic_string<char>的typedef),用於字串操作。
<cstring>是C標準庫標頭檔案<string.h>的C++標準庫版本,包含了C風格字串(NUL即"\0"結尾字串)相關的一些型別和函式的宣告,例如strcmp、strchr、strstr等。<cstring>和<string.h>的最大區別在於,其中宣告的名稱都是位於std名稱空間中的,而不是後者的全域性名稱空間。
看定義就知道了,string是新標準,定義了namespace std;而cstring雖然也是新標,但是定義中包含的是string.h。
string中可以進行+ = += >等運算,而cstring中不能進行相關運算。