日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sizeof 和 strlen

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sizeof 和 strlen 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sizeof

1.sizeof 是運算符,返回一個對象或者類型所占的內存字節數,其值在編譯時即計算好了。

?

2.sizeof 有三種語法形式,如下:

  • ?sizeof( object );       // sizeof( 對象 )
  • ? sizeof( type_name );     // sizeof( 類型 );
  • ?sizeof object;       // sizeof 對象;

?

3.sizeof 不能用來運算函數類型,不完整類型,位域類型。

?

4.如果運算對象是引用類型,那么實際運算的是所引用的類型。

?

5.用sizeof對類名操作,得到的結果是該類的對象在存儲器中所占據的字節大小,由于靜態成員變量不在對象中存儲,因此這個結果等于各非靜態數據成員(不包括成員函數)的總和加上編譯器額外增加的字節。后者依賴于不同的編譯器實現,C++標準對此不做任何保證。

?

6.C++標準規定類的大小不為0,sizeof 空類的大小為1,當類不包含虛函數和非靜態數據成員時,其對象大小也為1。 如果在類中聲明了虛函數(不管是1個還是多個),那么在實例化對象時,編譯器會自動在對象里安插一個指針指向虛函數表VTable,在32位機器上,一個對象會增加4個字節來存儲此指針,它是實現面向對象中多態的關鍵。而虛函數本身和其他成員函數一樣,是不占用對象的空間的。

?

7.如果運算對象是一個表達式,sizeof不會去求表達式的值,而是計算所返回的靜態類型的大小。另外左右值轉換,數組名指針轉換,函數名指針轉換都不會發生。

?

strlen

?1.strlen() 是函數,返回以 ‘\0’結尾的 C String的長度(不包含 ‘\0’ ,注意 sizeof 是包括的),必須在運行時才能計算。

char str[10] = "123"; int i = sizeof(str); // i = 10; i = strlen(str); // i = 3

?

轉載于:https://www.cnblogs.com/zoneofmine/p/8270580.html

總結

以上是生活随笔為你收集整理的sizeof 和 strlen的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。