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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++中的string 类型占几个字节

發布時間:2025/6/15 c/c++ 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中的string 类型占几个字节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++中的string 類型占幾個字節

一:先看一道面面試題:

題目是要求輸出:TrendMicroSoftUSCN 然后要求修改程序,使程序能輸出以上結果.代碼如下:

#include <iostream> #include <string> using namespace std; int main(int argc,char * argv[]) {string strArr1[]={ “Trend “, “Micro “, “soft “};string *p=new string[2];p[0]= “US “;p[1]= “CN “;cout < <sizeof(strArr1) < <endl;cout < <sizeof(p) < <endl;cout < <sizeof(string) < <endl;for(int i=0;i <sizeof(strArr1)/sizeof(string);i++)cout < <strArr1;for(i=0;i <sizeof(p)/sizeof(string);i++)cout < <p;cout < <endl; }

修改之后的程序:

#include <iostream> #include <string> using namespace std; int main(int argc,char * argv[]) {string strArr1[]={"Trend","Micro","soft"};string *p=new string[2];p[0]= "US";p[1]= "CN";cout<<"sizeof(strArr1):"<<sizeof(strArr1)<<endl;cout<<"sizeof(p):"<<sizeof(p)<<endl;cout<<"sizeof(string):"<<sizeof(string) <<endl;for(int i=0;i<sizeof(strArr1)/sizeof(string);i++)cout<<strArr1[i];for(int i=0;i<sizeof(*p)*2/sizeof(string);i++)cout <<p[i];cout<<endl; }

注意:sizeof(strarr1)表示該數組所占空間,相當于sizeof(string)*3,而sizeof(p),指針所占的空間均為4,*p,才是其所指占用的空間。

如果:

二:在C語言中我們操作字符串肯定用到的是指針或者數組,這樣相對來說對字符串的處理還是比較麻煩的,好在C++中提供了string 類型的支持,讓我們在處理字符串時方便了許多。

#include <iostream> using namespace std;int main(void) {string str_test1; string str_test2 = "Hello World"; int value1, value2, value3; value1 = sizeof(str_test1); value2 = sizeof(str_test2); value3 = sizeof(string);cout<<"str_test1占 "<<value1<<" 個字節"<<endl; cout<<"str_test2占 "<<value2<<" 個字節"<<endl; cout<<"string占 "<<value3<<" 個字節"<<endl; system("pause"); return 0; }

首先,我用G++編譯運行,得到的結果如下圖所示:

這說明string占4個字節。之后,我用VS2012編譯運行,得到的結果如下圖所示:

奇怪,這里string竟然占28個字節。
這里,我們注意觀察,還會發現一個問題,不管有沒有對string類型的變量賦值,或者是賦什么值,得到的結果是一樣的。

下面,來解釋上述問題:
string的實現在各庫中可能有所不同,但是在同一庫中相同一點是,無論你的string里放多長的字符串,它的sizeof()都是固定的,字符串所占的空間是從堆中動態分配的,與sizeof()無關。 ? ?sizeof(string)=4可能是最典型的實現之一,不過也有sizeof()為12、32字節的庫實現。通常,我們所用到的 string 類型一般都會是這樣實現:
?

class{ char *_Ptr; //指向字符串的指針 int _Len; //字符串的長度 ........ };

所以,我們一般接觸到的string類型所占字節數為 8+。

總結

以上是生活随笔為你收集整理的C++中的string 类型占几个字节的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 夜夜草天天草 | 欧美一级欧美三级 | 亚洲中文字幕97久久精品少妇 | av中文字幕免费 | 理论片高清免费理伦片 | 色屁屁网站 | 国产精品第七页 | 不卡av中文字幕 | 国产人澡人澡澡澡人碰视频 | 深喉口爆一区二区三区 | 性av免费| 日韩av毛片在线观看 | 国产无套精品一区二区三区 | 亚洲天堂av一区 | 18岁禁黄网站 | 爱射综合 | 人人射人人 | 97视频久久 | 欧美日韩一区二区三区不卡视频 | 波多在线观看 | 亚洲成年人免费观看 | 密臀av一区二区 | 久久激情久久 | 国产伦精品一区二区三区四区视频 | 国产精品美女久久久久av超清 | 中文字幕精品视频 | 悟空影视大全免费高清观看在线 | 欧美激情精品久久久久 | 国产免费一区二区 | 国产精品成人aaaa在线 | 久久久久无码国产精品不卡 | 91华人在线 | 天天爽天天爽天天爽 | 日本一区二区视频免费 | 中文字幕有码在线视频 | 成人夜色视频 | 午夜视频久久 | 成人激情av | 波多野结衣中文字幕一区二区 | 日本国产精品 | 日本激情一区二区三区 | 黄a大片| 少妇又紧又爽视频 | 亚洲av日韩av永久无码下载 | 成人深夜小视频 | 国产一区精品在线观看 | 疯狂做受xxxx国产 | 日本不卡123 | 蜜臀av粉嫩av懂色av | 超碰97在线资源 | 色综合中文综合网 | 国产精品你懂的 | 999久久久久久久久6666 | 精品国产一区二区三区久久久久久 | 美女调教视频 | 成年黄色网 | 国产夫绿帽单男3p精品视频 | 高清一区二区在线 | 性感美女高潮 | 中文字幕在线观看一区二区三区 | 超碰在线最新 | 国产一级做a爰片在线看免费 | 成人av日韩 | 日韩精品视频免费播放 | 国产免费一区视频观看免费 | 日韩欧美中文字幕精品 | 一区二区天堂 | 亚洲国产精品久久久久婷蜜芽 | 一级做a爱片久久毛片 | 国产日产精品一区 | 无码少妇一区二区三区芒果 | 久久久精品视频在线观看 | 五月激情在线观看 | 狠狠干性视频 | www.成人av.com | 精品国产乱码久久久久久蜜臀网站 | 口爆吞精一区二区三区 | 少妇搡bbbb搡bbb搡打电话 | 亚洲天堂一二三 | 精品视频91 | 日韩精品电影一区二区 | 小小姑娘电影大全免费播放 | 潘金莲一级淫片a.aaaaa播放 | 亚洲男人天堂2017 | 美女扒开腿免费视频 | 狠狠操91| 一级黄色片在线 | 久久爱网| 日日噜噜夜夜爽爽 | www四虎精品视频免费网站 | 污污小说在线观看 | av黄色大片 | 日本无遮挡边做边爱边摸 | www.国产.com| 影音先锋在线视频 | 久久国产劲爆∧v内射 | 91视频在线免费看 | 国产97免费视频 | 毛片直接看 |