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

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

請問一個很弱的問題,關于string::size_type的,麻煩大佬幫忙看看?

請問一個很弱的問題,關于string::size_type的,麻煩大佬幫忙看看?

C C++
小唯快跑啊 2022-05-12 18:11:59
c++ primer 上寫,string的成員函數返回的類型是 string::size_type ,然后又說,string::size_type 是unsigned 型的,可是string 是一個類string::size_type 這種表示方法我只記得是 類的靜態數據成員了,但是后面一頁 P76寫了 for(string::size_type ix=0;ix!=str.size();++ix)于是乎我徹底混亂了另外 string 的size()成員函數和length()有什么區別嗎,貌似length()直接說明了返回值是unsigned int 啊PS:因為我之前一直看清華大學那本綠皮的教材,稀里糊涂學了一大堆面向對象的概念,后來發現c++ primer 講的很好但是貌似 內容順序和綠皮完全是反的,有點凌亂了。不要把c++ primer 的原話打給我哦~
查看完整描述

2 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

string::size_type這種表示出現的情況不止是他是類的靜態數據成員這么一種,
比如
class string
{public:
class a
{...};

};
那么當想要在外界引用類a的時候可以string::a這樣子寫來創建對象,類似的,在類的共有部分定義共用體,結構體等等都可以這么寫
甚至
class string
{
public:
typedef unsigned int size_typedef;

};
這么做,那么也可以定義
那么在引用的時候就需要
string::size_typedef這樣子引用,
給你一個例子實現
#include<iostream>
class temp
{
public:
typedef int size;
};
int main()
{
using namespace std;
temp::size a=10;
cout<<a;
return 0;
}



查看完整回答
反對 回復 2022-05-16
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

string::size_type 不是string中的靜態成員而是內部定義的一種類型
像:
class string
{
public:
typedef unsigned size_type ;
}

查看完整回答
反對 回復 2022-05-16
  • 2 回答
  • 0 關注
  • 145 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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