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

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 侯杰 閱讀(3222) 評論(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>
            欧美色精品在线视频| 亚洲精品免费电影| 性18欧美另类| 一本久久综合亚洲鲁鲁五月天| 先锋影音国产精品| 欧美有码视频| 午夜精品福利一区二区蜜股av| 亚洲欧洲精品天堂一级| 午夜欧美精品久久久久久久| 欧美一区国产二区| 久久久欧美精品| 欧美14一18处毛片| 伊人久久亚洲热| 亚洲人成艺术| 亚洲国产精品一区| 亚洲国产导航| 99国产精品久久| 最近中文字幕mv在线一区二区三区四区| 亚洲欧洲一区二区三区| 伊人婷婷久久| 亚洲第一精品电影| 亚洲国产精品ⅴa在线观看| 亚洲国产经典视频| 久久久久亚洲综合| 亚洲成色精品| 国产精品成人免费| 国产一级揄自揄精品视频| 欧美激情一区二区三区四区| 在线观看视频免费一区二区三区 | 欧美日韩亚洲三区| 亚洲日本免费| 亚洲国产精品久久91精品| 国产丝袜美腿一区二区三区| 欧美一区视频在线| 国产精品乱码人人做人人爱| 亚洲欧美日韩精品久久久| 小黄鸭精品密入口导航| 久久一区二区三区国产精品| 欧美高清在线播放| 国产精品一区二区久久久| 久久成人18免费网站| 亚洲国产cao| 日韩视频三区| 欧美大片一区二区三区| 亚洲欧美在线一区| 亚洲欧美一区二区在线观看| 99re66热这里只有精品3直播| 欧美日本国产精品| 久久青青草原一区二区| 国产伦精品一区二区三区免费迷 | 欧美亚洲一区二区在线| 国产日韩精品视频一区二区三区| 亚洲精品一区在线观看香蕉| 久久午夜精品一区二区| 日韩视频二区| 麻豆久久精品| 性欧美18~19sex高清播放| 欧美国产视频在线| 在线日韩中文| 蜜桃av一区| 久久久久国色av免费看影院| 国产亚洲欧美一级| 久久久久综合一区二区三区| 欧美一级欧美一级在线播放| 国产精品一区二区久激情瑜伽| 亚洲桃花岛网站| 一区二区三区精品在线| 欧美午夜不卡在线观看免费| 亚洲综合视频一区| 亚洲视频在线播放| 国产精品日韩一区二区| 香蕉国产精品偷在线观看不卡| 中国成人亚色综合网站| 国产伦精品免费视频 | 蜜桃视频一区| 中文国产成人精品久久一| 欧美日韩亚洲激情| 亚洲在线视频一区| 亚洲欧美国产另类| 在线日韩av| 亚洲日本欧美在线| 国产精品二区二区三区| 欧美专区在线| 免费在线欧美黄色| 亚洲永久免费| 久久全国免费视频| 中日韩午夜理伦电影免费| 亚洲自拍啪啪| 亚洲欧洲视频在线| 亚洲综合精品四区| 久久久久国产免费免费| 亚洲人妖在线| 亚洲一区二区伦理| 亚洲高清在线| 亚洲午夜伦理| 亚洲精选成人| 香蕉乱码成人久久天堂爱免费| 一区免费观看| 亚洲午夜小视频| 精品福利电影| 亚洲图片欧洲图片av| 亚洲第一网站| 亚洲欧美制服另类日韩| 免费在线播放第一区高清av| 亚洲欧美日韩天堂| 亚洲激情在线激情| 亚洲深夜av| 亚洲精品一区二区三区不| 亚洲在线成人精品| 亚洲乱码国产乱码精品精| 久久狠狠亚洲综合| 午夜精品视频在线观看一区二区| 欧美a一区二区| 老司机午夜免费精品视频| 国产精品美女午夜av| 亚洲成人在线视频网站| 国产一区久久久| 一区二区av在线| 日韩视频免费看| 久久午夜视频| 久久久久国色av免费观看性色| 欧美色播在线播放| 亚洲精品日韩在线观看| 最新成人av网站| 久久久成人网| 久久一二三国产| 国产综合在线看| 性做久久久久久久免费看| 亚洲欧美综合网| 国产精品啊啊啊| 亚洲午夜久久久| 香蕉久久夜色精品| 国产免费亚洲高清| 午夜精品一区二区三区在线视 | 日韩一级成人av| 一区二区三区久久网| 欧美日本亚洲| 亚洲美女啪啪| 亚洲欧美激情一区| 国产精品久久一级| 中国成人亚色综合网站| 亚洲已满18点击进入久久| 欧美三区不卡| 亚洲欧美日韩天堂| 久久综合色一综合色88| 在线成人h网| 免费成人黄色av| 亚洲欧洲日本mm| 亚洲自拍另类| 国产日产亚洲精品系列| 久久国产精品99久久久久久老狼| 欧美在线观看一区| 激情久久五月| 欧美激情一区二区三区在线视频| 日韩视频三区| 久久久久九九九九| 亚洲欧洲在线一区| 欧美丝袜第一区| 欧美一区二区三区视频| 欧美成人黑人xx视频免费观看| 91久久久国产精品| 国产精品国产三级国产aⅴ无密码| 亚洲欧美日韩一区在线| 免费成人美女女| 国产精品入口尤物| 久久亚洲国产精品一区二区| 亚洲精品国产精品国自产观看浪潮 | 夜夜精品视频一区二区| 欧美激情久久久久久| 亚洲国产天堂网精品网站| 99re8这里有精品热视频免费| 欧美日韩国产精品| 欧美一区二区在线免费播放| 蜜臀久久99精品久久久画质超高清| 日韩午夜电影| 国内精品嫩模av私拍在线观看| 欧美大尺度在线| 亚洲欧美国产77777| 欧美国产极速在线| 亚洲一区二区精品视频| 一区二区三区在线不卡| 欧美日韩p片| 久久久蜜桃精品| 亚洲一区二区免费看| 欧美激情一区二区三区在线| 欧美一区二区三区久久精品茉莉花| 老色批av在线精品| 亚洲男人av电影| 亚洲精品日韩在线| 免费一级欧美在线大片| 亚洲欧美日韩综合国产aⅴ | 在线视频你懂得一区| 亚洲第一色在线| 国产亚洲精品久久飘花| 欧美三级视频在线播放| 欧美激情一区在线观看| 久久久噜噜噜久噜久久| 午夜视频一区在线观看| 一区二区毛片| 日韩视频免费看|