sizeof,length和size 的區別

2021-10-09 15:06:03 字數 785 閱讀 6005

今天c++上刷題,很簡單的乙個題,卡在了計算vector的長度這一步。sizeof(vector) 和 vector.size() 得到的結果不一樣,於是學習了下基礎。

是運算子,在標頭檔案中typedef為unsigned int,其值在編譯時即計算好了,引數可以是陣列、指標、型別、物件、函式等。( sizeof()運算子用來求物件所佔記憶體空間的大小。)

舉例1.1

//在 windows中

sizeof(char)=1

sizeof(int)=4

sizeof(long)=8

sizeof(float)=4

sizeof(double)=8

sizeof(string)=28。

例子1.2  參考部落格

char c = "asdsds";       // c是陣列,計算到'\0'位置,sizeof 值為1+1=7

char* cc = c; //*cc指向c的第乙個字元,大小為1

char cn[40] = "asdsds"; //開闢40個char空間,大小為40*1=40

int a = ; //a是陣列,但不需計算到'\0',結果為6*4=24

int* aa = a; //aa為指標型別,sizeof(aa) = 8大小為8,*aa指向a的第乙個數字,大小為4

二者都可以獲得字串的長度,除此之外,.size可以獲得vector長度

PC Lint和SI整合小問題

pc lint和sourceinsight的整合網上可以搜尋到一大堆的文件,但以前同事遇到個問題,在si裡執行pc lint後的結果頁裡,每個item前都會有乙個按鈕可以方便地鏈結到對應的 行。當時同事的所有配置和我的都一樣,但是他的結果頁就是沒有那個按鈕,最好鬱悶半天也沒解決。我這兩天也用pc l...

容器容量和容器大小(capacity和size)

1 容器容量 容器所能容納元素的個數,通常大於容器的實際儲存元素的個數。s.capacity 檢視容器容量 s.reserve len 擴充套件當前容器的容量,如果len大於當前容器容量,那麼將會將容器的容量擴充套件為len,且不會對新擴充套件的空間進行初始化 當len小於等於當前容器容量時,什麼也...

SI和DI暫存器的用途

sidi是8086cpu中和bx功能相近的暫存器,sidi不能夠分成兩個8位暫存器來使用.下面三組指令實現了相同的功能 1 mov bx,0 mov ax,bx 2 mov si,0 mov ax,si 3 mov di,0 mov ax,di 下面的三組指令也實現了相同的功能 1 mov bx,0...