亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++ 關于.size()

c++ 關于.size()

C++
ABOUTYOU 2018-07-29 17:17:00
string a;a.size() 返回什么類型vector<string>a(5);a.size() 返回什么類型vector<int>a(5)a.size() 返回什么類型個人覺得分別是:string::size_type類型 ?int類型?int類型?我要計算string中的元素個數用什么?是用sizeof()嗎?還能用別的嗎?string::size_type內嵌類型能轉成int嗎?我快暈了,救救我。。。還有讀取string中的某個字符呢?怎么做?
查看完整描述

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;

查看完整回答
反對 回復 2018-08-02
?
jeck貓

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)

查看完整回答
反對 回復 2018-08-02
  • 2 回答
  • 0 關注
  • 3697 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號