青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

MySpace

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  18 隨筆 :: 2 文章 :: 10 評論 :: 0 Trackbacks


(排版不好,見諒)


 

先說簡單的:

像這樣 int i = 0; 的語句編譯器會將變量 i 放入棧中,當過了它的作用域之后會自動釋放它在棧中所占的空間。
再有:我們定義了一個類 A ,然后執行語句 A a = new A; 那么 a 這個變量就被編譯器丟到了堆中。
此時 a 中所占的空間只能靠我們自己釋放。

再比如我們定義一個數組 int _i_arr[5]; 毫無疑問那么這個數組也會放到棧中(好象是廢話)。
如果這兩句語句連續起來

int i = 0;
int _i_arr[5];

那么在棧中變量的位置大致上就是

0x000000: 
         
          
0x00004b:   _i_arr(此處向上還有 4*5 個字節屬于 _i_arr)
0x000050:   i = 0
         
         
0xffffff:

編譯器按照變量定義的順序在內存中由高地址向低地址方向進行字節占用。
 
如果變態一點這樣寫

int _i_v_arr[-1];
int i = 0;
int _i_arr[5];

編譯器不支持,呵呵。換種方式:

int getInt()
{
 return -1;
}

int main()
{
 int _i_v_arr[getInt()];
 int i = 0;
 int _i_arr[5];
 
 return 0;
}

呵呵,這下支持了(g++),我們騙過了編譯器。但是回過頭來想想 _i_v_arr 是在運行時才能確定大小的,
那它實在堆上還是在棧上呢?從語法上來看應該是在棧上的。那它在內存中的布局是怎么樣的呢?

0x000000: 
       
0x000038:  _i_v_arr     
         
          
0x00004b:   _i_arr(此處向上還有 4*5 個字節屬于 _i_arr)
0x000050:   i = 0
         
         
0xffffff:

按照我們之前得出的規律:編譯器按照變量定義的順序在內存中由高地址向低地址方向進行字節占用。
但是這里就違反了,本來 _i_v_arr 是最先定義的,按理說應該在變量 i 的下面(比0x000050要大)
,但是_i_v_arr去跑到了最上面。再定義一個數量是不確定的數組

int getInt()
{
 return -1;
}

int main()
{
 int _i_v_arr[getInt()];
 int _i_v_arr_1[getInt()];
 int i = 0;
 int _i_arr[5];
 
 return 0;
}

通過觀察我們發現,在內存中的 _i_v_arr_1 在 _i_v_arr 的上面(_i_v_arr_1 的地址小于 _i_v_arr 的地址)
如果單看這兩個動態數組,那他們在內存中位置是符合我們之前的結論的。

于是我們這樣理解,編譯器在入棧的時候先在編譯時期按照能夠明確的變量一次入棧,然后再將到運行時才能明確的變量進行入棧。

另外還有個 sizeof() 函數的問題:

int i = 0;
cout << sizeof(i) << endl;

輸出是 4.

再看下面:

int i = -1;
if(i < sizeof(i))
{
 cout << "i < sizeof(i)" << endl;
}else
{
 cout << "i > sizeof(i)" << endl;
}

按常理來講,-1 是肯定小于 sizeof(i),但是結果正好跟我們預料的相反。因為sizeof(i)返回的是無符號類型,
跟 INT 做比較運算就會將 i 做轉換,此時進行比較的 i值已經不是 -1 了。這點一定要注意。

再有代碼:

int getInt()
{
 return -1;
}

int main()
{
 int _i_v_arr[getInt()];
  cout << sizeof(_i_v_arr) << endl;
 int i = 0;
 int _i_arr[5];
 
 return 0;
}

此時的sizeof居然可以輸出 -4 ,天哪。
很奇怪,當 sizeof 返回小于0的值得時候跟 int 的比較就很正常,但是當 sizeof 的返回值大于等于0的時候就會有 int 類型與無符號類型進行類型轉換的問題。

我估計這是 G++ 的BUG。

 

 

 

posted on 2008-08-14 17:42 yang-chunlei 閱讀(630) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产精品小视频| 欧美在线三区| 亚洲一级在线观看| 亚洲另类自拍| 99在线观看免费视频精品观看| 亚洲第一精品久久忘忧草社区| 极品少妇一区二区| 亚洲国产精品一区二区久| 亚洲精品女av网站| 亚洲一级黄色av| 欧美综合国产| 欧美成人官网二区| 亚洲激情欧美激情| 亚洲午夜伦理| 久久国产主播| 欧美日韩不卡| 国产一区二区三区黄| 亚洲国产精品女人久久久| 日韩亚洲欧美成人一区| 亚洲欧美日韩国产| 欧美不卡视频| 一本久久综合亚洲鲁鲁| 久久精彩视频| 欧美午夜免费电影| 一区免费观看| 午夜精品久久久久久久久久久| 久久久久国产一区二区| 亚洲精品中文在线| 久久久久欧美| 国产午夜精品视频| 在线亚洲欧美专区二区| 嫩草影视亚洲| 性欧美video另类hd性玩具| 欧美麻豆久久久久久中文| 国内偷自视频区视频综合| 亚洲视频在线观看三级| 欧美福利影院| 久久精品123| 国产美女扒开尿口久久久| av成人福利| 欧美v日韩v国产v| 欧美一区二区三区在线播放| 欧美日韩性生活视频| 亚洲国产一区二区三区高清| 久久久久久久高潮| 先锋亚洲精品| 国产精品第13页| 一本色道久久综合亚洲精品不| 鲁大师成人一区二区三区| 午夜精品久久久久久久99樱桃| 欧美日韩国产一区二区三区地区 | 亚洲欧美文学| 欧美日韩亚洲一区三区| 亚洲在线播放| 亚洲福利久久| 久久五月天婷婷| 国内自拍视频一区二区三区| 亚洲女优在线| 一区二区三区三区在线| 欧美日本在线看| 夜夜精品视频一区二区| 91久久精品国产91性色tv| 蜜桃久久精品一区二区| 在线成人黄色| 欧美激情视频一区二区三区免费| 久久婷婷影院| 亚洲精品国产拍免费91在线| 亚洲国产精品va在线看黑人动漫| 米奇777超碰欧美日韩亚洲| 亚洲欧洲精品一区| 夜夜精品视频| 国产亚洲综合在线| 免费成人高清视频| 欧美高清在线| 亚洲欧美日韩国产一区| 欧美一区激情视频在线观看| 激情一区二区三区| 欧美高清视频一区二区| 欧美另类视频| 午夜精品久久久久久99热| 欧美在线看片| 亚洲精品资源| 亚洲欧美日本国产有色| 亚洲第一狼人社区| 一区二区国产日产| 国产一区二区三区日韩欧美| 欧美成va人片在线观看| 欧美日韩色综合| 久久免费一区| 欧美日韩免费一区二区三区视频| 久久国产主播| 欧美另类99xxxxx| 久久免费99精品久久久久久| 欧美激情在线观看| 久久aⅴ国产紧身牛仔裤| 免费成人av资源网| 欧美在线播放一区| 欧美激情影音先锋| 久久视频国产精品免费视频在线| 欧美激情一区二区三区成人| 久久精品一本| 国产精品视频xxx| 亚洲欧洲精品一区二区三区 | 最近看过的日韩成人| 亚洲免费激情| 伊人久久成人| 性欧美长视频| 亚洲一区二区三区四区五区黄| 久久久精品动漫| 香蕉av777xxx色综合一区| 模特精品在线| 久久综合色婷婷| 国产精品视频yy9099| 亚洲精品自在在线观看| 一区在线播放视频| 午夜精品理论片| 欧美日韩国产电影| 亚洲视频在线观看网站| 久久综合伊人77777麻豆| 欧美在线免费观看亚洲| 欧美日韩在线精品| 亚洲福利视频一区| 国产一区在线观看视频| 亚洲一区二区精品| 一区二区三区色| 欧美国产日本在线| 亚洲成色777777女色窝| 性欧美videos另类喷潮| 牛牛影视久久网| 免费久久99精品国产自在现线| 国产精品欧美经典| 亚洲美女毛片| 亚洲午夜久久久久久尤物| 欧美精品色一区二区三区| 欧美国产日韩二区| 亚洲黄色影片| 女人香蕉久久**毛片精品| 欧美福利网址| 亚洲精品一区二区三区四区高清| 蜜臀久久久99精品久久久久久| 美日韩在线观看| 亚洲黄色三级| 欧美精品日韩综合在线| 亚洲伦理在线观看| 亚洲午夜电影在线观看| 国产精品卡一卡二| 欧美亚洲日本国产| 蜜桃av一区二区三区| 亚洲理论在线| 国产精品av久久久久久麻豆网| 亚洲一区二区在线免费观看| 欧美亚洲视频在线看网址| 国产视频欧美视频| 久久免费国产精品| 91久久精品国产91性色tv| 亚洲手机成人高清视频| 国产精品一区在线观看你懂的| 欧美一区三区二区在线观看| 欧美jizz19性欧美| 中文亚洲欧美| 国产午夜亚洲精品理论片色戒| 老色鬼久久亚洲一区二区| 亚洲精品一区二区三区福利| 午夜精品区一区二区三| 亚洲国产精品成人一区二区 | 韩日欧美一区二区| 欧美精品日日鲁夜夜添| 亚洲欧美日产图| 亚洲高清久久| 午夜精品亚洲一区二区三区嫩草| 国内精品免费午夜毛片| 欧美激情中文不卡| 欧美中文字幕| 亚洲精品乱码久久久久| 久久久免费精品| 99xxxx成人网| 伊人久久大香线蕉av超碰演员| 欧美日韩亚洲一区| 久久久精品2019中文字幕神马| 日韩一二在线观看| 欧美电影免费观看大全| 久久国产精品网站| 亚洲视频每日更新| 99精品热6080yy久久| 欧美一区二区三区免费大片| 亚洲免费电影在线| 国内精品视频一区| 国产精品热久久久久夜色精品三区| 久久综合色播五月| 亚洲欧美日韩专区| 一本色道久久综合狠狠躁篇的优点 | 欧美日韩午夜激情| 麻豆av一区二区三区久久| 亚洲欧美日韩精品久久| 日韩一级黄色片| 亚洲第一色在线| 美脚丝袜一区二区三区在线观看| 亚洲欧美日韩国产精品| 亚洲一区二区精品在线观看| 亚洲三级电影全部在线观看高清 |