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

posts - 23,  comments - 94,  trackbacks - 0

今天實訓的某同學給我看了一段簡單的代碼,蠻有意思
數組不是越界了么?為什么結果還是正確的呢?

#include <iostream>
#include <cstdlib>

using namespace std;

class S
{
public:
 void a()
 {
  cout<<sum<<endl;
 }

private:
 static int sum;
};

int S::sum = 0;

int main()
{
 S sa[10];

 sa[100].a();

 system("pause");
 return 0;
}

代碼差不多就是這樣,一個類的數組,越界訪問一個普通成員函數
這個成員函數只訪問了靜態成員變量
輸出的結果是0,同學的問題是,sa[100]不是越界了么?為什么運行的時候不出錯呢?

這個問題是一個初學者提出來的~ 不過要解釋清楚還真得有些深度~

我同學說
首先,通過對象調用成員函數,就必須在這個對象存在的前提下吧
那么,sa[100]根本不存在啊,為什么這個調用還合法呢?

開始我也感覺比較詫異,覺得我同學說的沒錯啊~
然后再仔細想了一想做了如下的解釋

普通成員函數的調用,必須得到一個this指針的參數
這就是必須由對象或者由對象的指針或者引用來調用的原因

那么一個類中的普通成員函數,可以解釋為這樣的形式
以上面的S為例子

S_a(S* pthis)
{
    ....
}

那么之前的 sa[100].a();
就相當于調用的是

S_a( sa + 100*sizeof(S) );

如此一來就清晰很多了

這個函數只訪問了類中的靜態成員,而類中的靜態成員又是存儲在靜態區
那么就是一個全局變量
那之前的程序看起來其實就像是這樣

int S_sum = 0;

void S_a(S* pthis)
{
    cout<<S_sum<<endl;
}

這個函數的參數隨便傳入的是什么值,都無所謂了
這里的sa[100].a()調用實際上可以解釋為

(S)(*(sa+100*sizeof(S))).a();

->

S_a( sa + 100*sizeof(S) );

所以,編譯,運行的結果都是正確的~

希望我給我的同學的解釋也是正確的~

posted on 2009-08-20 22:10 Charlie 侯杰 閱讀(3221) 評論(24)  編輯 收藏 引用
by Charlie
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美在线综合| 久久伊人精品天天| 亚洲亚洲精品在线观看 | 一区电影在线观看| 欧美大胆a视频| 欧美一级专区免费大片| 国产精品每日更新| 亚洲综合不卡| 亚洲在线观看免费| 国产精品亚洲综合| 午夜国产不卡在线观看视频| 亚洲每日更新| 欧美理论在线播放| 一区二区欧美亚洲| 一区二区三区导航| 国产精品自在线| 午夜久久久久久| 亚洲一区在线播放| 欧美成人第一页| 久久久亚洲精品一区二区三区 | 亚洲日韩中文字幕在线播放| 美女精品一区| 欧美大秀在线观看| 亚洲一级一区| 午夜精品久久久久久| 国产一级一区二区| 欧美成人xxx| 欧美日韩一区精品| 欧美区视频在线观看| 香蕉久久一区二区不卡无毒影院| 国产免费成人av| 久久男女视频| 免费视频久久| 亚洲欧美日韩系列| 久久久www| 一区二区国产精品| 午夜视频一区在线观看| 亚洲电影观看| 在线天堂一区av电影| 国产亚洲欧美激情| 欧美风情在线观看| 欧美午夜大胆人体| 久久在线视频| 欧美日韩在线不卡一区| 久久国产天堂福利天堂| 久久综合伊人77777麻豆| 一区二区三区免费网站| 欧美一区二区三区视频在线观看| 1024成人网色www| 日韩视频永久免费| 国内精品国语自产拍在线观看| 亚洲国产黄色片| 国产精品扒开腿爽爽爽视频 | 久久精品水蜜桃av综合天堂| 亚洲精华国产欧美| 亚洲影音先锋| 最新亚洲视频| 欧美永久精品| 亚洲特黄一级片| 蜜桃伊人久久| 久久国产日韩| 欧美视频一区二区三区| 能在线观看的日韩av| 欧美视频导航| 91久久精品www人人做人人爽| 国产一区二区三区直播精品电影| 亚洲风情在线资源站| 国内免费精品永久在线视频| 一本高清dvd不卡在线观看| 好吊色欧美一区二区三区视频| 亚洲人人精品| 亚洲精品日本| 免费观看在线综合色| 欧美一区二区在线观看| 欧美日韩免费观看一区=区三区| 欧美不卡视频一区发布| 国产一区二区看久久| 亚洲视频免费看| 日韩视频在线你懂得| 美女在线一区二区| 蜜臀久久久99精品久久久久久| 国产精品一区二区在线观看| 亚洲小说欧美另类社区| 9国产精品视频| 欧美sm极限捆绑bd| 亚洲国产天堂久久综合网| 在线观看国产成人av片| 久久久久国产精品www| 久久精品国产一区二区三区| 国产精品爽黄69| 亚洲一区二区综合| 中国女人久久久| 欧美色综合天天久久综合精品| 性色av一区二区三区| 亚洲少妇诱惑| 亚洲图片欧洲图片日韩av| 欧美精品一区二区久久婷婷| 欧美国产高清| 亚洲激情av| 欧美精品在线视频| 一本久道综合久久精品| 亚洲一区亚洲| 国产欧美一区二区精品性| 久久99伊人| 欧美成人一区二区三区片免费| 亚洲黑丝一区二区| 欧美精品粉嫩高潮一区二区 | 欧美一区二区高清| 嫩草影视亚洲| 99精品福利视频| 国产精品超碰97尤物18| 在线亚洲美日韩| 欧美怡红院视频| 在线精品国精品国产尤物884a| 久久精品日产第一区二区三区 | 欧美午夜精品久久久久久孕妇| 99国产精品视频免费观看| 午夜精品久久久久| 韩国成人理伦片免费播放| 免费成年人欧美视频| 亚洲国产日韩一级| 国产精品99久久久久久www| 国产精品视频精品| 久久综合成人精品亚洲另类欧美| 亚洲全部视频| 午夜国产精品影院在线观看| 黄色成人小视频| 欧美午夜三级| 久久一本综合频道| 亚洲少妇自拍| 欧美成人久久| 羞羞答答国产精品www一本| 激情综合色综合久久| 欧美日本一道本在线视频| 先锋影音久久| 亚洲国产精品国自产拍av秋霞| 欧美在线日韩精品| 这里只有视频精品| 亚洲国产福利在线| 国产亚洲欧美日韩美女| 欧美激情亚洲精品| 久久精品国产免费观看| 一区二区三区欧美在线观看| 欧美va亚洲va国产综合| 久久国产成人| 亚洲欧美国产不卡| 99精品免费| 亚洲国产精品第一区二区三区| 国产女优一区| 国产精品都在这里| 欧美日韩成人| 欧美大片专区| 老司机67194精品线观看| 亚洲永久视频| 亚洲一区二区三| 中文一区二区| 亚洲色图制服丝袜| 一区二区三区四区五区精品| 亚洲高清不卡在线观看| 蜜桃av噜噜一区| 久久综合国产精品| 久久精品最新地址| 欧美一区三区三区高中清蜜桃| 中文欧美字幕免费| 亚洲视频在线观看一区| 欧美国产一区二区| 久久久视频精品| 欧美一区二区三区视频| 亚洲一二三四久久| 亚洲视频一区二区| 亚洲视频1区2区| 亚洲视频一二区| 亚洲影院一区| 欧美一级片在线播放| 午夜宅男久久久| 欧美在线观看一二区| 久久成人人人人精品欧| 久久久精品国产免大香伊| 久久久久久久久久久成人| 久久久久久久一区二区三区| 久久久精彩视频| 男人的天堂成人在线| 欧美激情四色 | 久久综合色8888| 美女网站久久| 欧美美女视频| 国产精品成人午夜| 国产精自产拍久久久久久| 国产乱子伦一区二区三区国色天香 | 亚洲一品av免费观看| 亚洲一级在线观看| 亚洲欧美日韩精品| 久久99在线观看| 欧美14一18处毛片| 欧美日韩免费精品| 国产三级欧美三级| 亚洲二区视频在线| 日韩亚洲一区二区| 欧美一二区视频| 免费观看日韩av|