2 回答

TA貢獻1798條經驗 獲得超3個贊
string a;
a.size() 如果沒有定義size_type,返回的是無符號整型,如果定義了size_type,則返回的是定義了的size_type類型,詳細見下文
vector<string>a(5);
a.size() 返回的也是無符號整型
vector<int>a(5)
a.size() 返回的還是無符號整型
string::size_type是string對象的一個屬性,可以用于定義string的size類型,而由于string::size_type是無符號型,則它可以存儲的長度是有符號型的兩倍。int類型變量最大只能存儲32767個字符的string對象,如果用string來讀一個文本文件,輕易就會多于32767個字符。為了避免溢出,保存一個string對象size的最安全的方法就是使用標準庫類型string:: size_type。
計算string中的元素個數用size()就可以了。
讀取string中的某個字符可以用下標進行操作。
例:
string s = "hello";
s[0] 就是字符串的第一個字符, s[1] 就表示第二個字符(如果有的話),而 s[s.size() - 1] 則表示 s 的最后一個字符。
用以下方法依次讀取s中的字符
for (string::size_type i = 0; i != s.size(); ++i)
cout << s[i] << endl;

TA貢獻1909條經驗 獲得超7個贊
查下msdn就知道了:
查size method:
.size大多是size_type(string和vector都是,還有其他很多)
查size_type typedef:
typedef size_t size_type;
再查size_t type:
size_t unsigned integer Result of sizeof operator.
最終其實是uint的
個數函數:(都是msdn復制下來的, 自己找吧)
Returns the number of characters in the string.
number string-length(string)
- 2 回答
- 0 關注
- 3697 瀏覽
添加回答
舉報