“tr”和字串型別的string str = "tr"對比
[i][b]本文為firedragonpzy原創,轉載務必在明顯處註明:
轉載自【Softeware MyZone】原文連結: http://www.firedragonpzy.com.cn/index.php/archives/1025[/b][/i]
有關sizeof詳細可參考:[url]http://firedragonpzy.d3.tuidc.com/index.php/archives/1015[/url]
轉載自【Softeware MyZone】原文連結: http://www.firedragonpzy.com.cn/index.php/archives/1025[/b][/i]
今天在研究sizeof的時候發現了一些比較有趣的現象,程式碼如下:
string str = "tr";
cout<<str.size()<<endl;//2
cout<<strlen(str.c_str())<<endl;//2
cout<<sizeof(str)<<endl;//32
cout<<str[1]<<endl;//r
//cout<<"tr".size()<<endl;//報錯
cout<<strlen("tr")<<endl;//2
cout<<sizeof("tr")<<endl;//3
cout<<"tr"[2]<<endl;空白
事實表明,str和"tr"是不一樣的,str是個string型別的物件,佔據32位byte的空間,而"tr"是char型別的陣列,末尾均以"\0"填充,而string型別的str是不以"\0"填充,這個是被string型別處理了。一個str和"tr"很明顯的區別就是"tr"根本就沒有size()的方法。
再說下sizeof和strlen的區別:
sizeof:取得是實際變數佔據的記憶體空間
strlen:取得是除去"\0"後變數佔據的記憶體空間
有關sizeof詳細可參考:[url]http://firedragonpzy.d3.tuidc.com/index.php/archives/1015[/url]
相關文章
- 命令:tr
- String:字串型別字串型別
- Rust中 String、str、&str、char 的區別Rust
- Python - 基本資料型別_str 字串Python資料型別字串
- Oracle date 型別比較和String比較Oracle型別
- 表格tr行的展開和摺疊效果
- Linux基礎命令---trLinux
- js常用的功能 table>tr>tdJS
- 如何用jquery獲取DIV中的TR和TDjQuery
- rust 中 str 與 String; &str &StringRust
- linux 命令值xargs與trLinux
- C++ 字串字面值和 string 不是同一型別C++字串型別
- JavaScript的String和Boolean型別JavaScriptBoolean型別
- table表格tr行點選高亮
- JavaScript當前tr行高亮效果JavaScript
- PHP基礎-資料型別-string和int比較PHP資料型別
- table 固定標題的方法(tr標籤)
- Java中的字串操作(比較String,StringBuiler和StringBuffer)Java字串UI
- JavaScript表格tr行左右拖動效果JavaScript
- 滑鼠懸浮tr行高亮變色
- 什麼是.NET的強型別字串(Strongly typed string)?型別字串
- String.valueOf和強制型別轉換(String)的區別型別
- 關於Java和C#的型別對比JavaC#型別
- Redis 五大資料型別之 String(字串)Redis大資料資料型別字串
- 型別轉換(int 和 String)型別
- 如何給 Table/tr/td 新增超連結?
- 【JDK】分析 String str=““ 與 new String()JDK
- 形式引數和返回值型別的對比型別
- String 型別型別
- Map和String型別之間的轉換型別
- js動態新增、刪除table中的tr、td、inputJS
- SAP S4HANA TR傳輸之操作
- Python神經網路程式設計(TR) (2)Python神經網路程式設計
- JavaScript 方向鍵切換表格tr行高亮效果JavaScript
- Python 字串 strPython字串
- 使用String. localeCompare比較字串字串
- 關於th,td,tr的一些相關標籤
- String和基本資料型別的相互轉換資料型別
- SAP 談談PFCG建立ROLE後打包產生TR