• <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>
            面對現(xiàn)實(shí),超越自己
            逆水行舟,不進(jìn)則退
            posts - 269,comments - 32,trackbacks - 0

            結(jié)構(gòu)體CString問題

            1 struct sTest
            2 {
            3     CString addr;
            4     int port;
            5 };

                 定義CString addr時(shí),編譯器會(huì)在棧里分配一塊內(nèi)存空間,然后調(diào)用CString的默認(rèn)構(gòu)造函數(shù)初始化addr,此時(shí)Cstring內(nèi)部的m_pchData指向一個(gè)空字串 " ",而不是NULL。cstring在結(jié)構(gòu)里也是一樣的,結(jié)構(gòu)無論是從棧中分配如 :
                 ME_REFRESH   lpmerefresh
                 或從堆中分配 :  
                 lpmerefresh=new   ME_REFRESH;
                 type為cstring的分量都會(huì)被調(diào)用默認(rèn)構(gòu)造函數(shù)初始化name,使Cstring內(nèi)部的m_pchData指向一個(gè)空字串 " ",該空字串是afxEmptyString的m_pchData。memset CString時(shí),該m_pchData便指向了NULL,那么就表明該CString的值被破壞了,所以報(bào)錯(cuò)。
                 結(jié)構(gòu)體成員如果僅僅是基本類型成員可以直接memset(ST,0,sizeof(ST)),但結(jié)構(gòu)體里面包含有指針,直接memset是不行的,因?yàn)橹羔槼蓡T的sizeof都是4字節(jié)。你應(yīng)該專門對指針成員進(jìn)行memset,sizeof對于包含指針的結(jié)構(gòu)獲得的長度不是你想要的。

            posted on 2012-04-24 13:56 王海光 閱讀(1873) 評(píng)論(0)  編輯 收藏 引用 所屬分類: MFC
            久久99精品久久久久久9蜜桃| 亚洲精品第一综合99久久| 香蕉久久影院| 久久99久国产麻精品66| 99精品国产在热久久| 91麻豆精品国产91久久久久久 | 久久91精品综合国产首页| 四虎国产精品免费久久久| 亚洲国产精品狼友中文久久久| 久久精品国产99久久久古代| 国产精品久久久久…| 亚洲天堂久久久| 精品国产热久久久福利| 久久久久国产精品熟女影院| 国产精品免费久久| 国产精品一久久香蕉产线看| 久久夜色精品国产噜噜亚洲a| 久久久久国产精品| 无码人妻精品一区二区三区久久 | 99热成人精品免费久久| 色偷偷偷久久伊人大杳蕉| 久久久久亚洲AV无码去区首| 99热成人精品热久久669| 日本强好片久久久久久AAA| 久久免费视频一区| 国产午夜精品久久久久九九电影 | 91精品国产色综久久 | 精品欧美一区二区三区久久久| 一本久久a久久精品亚洲| 久久亚洲国产成人影院网站| 九九99精品久久久久久| 久久久无码精品亚洲日韩按摩| 人妻无码精品久久亚瑟影视| 久久精品国产99国产精品| 久久综合九色综合久99| 99热热久久这里只有精品68| 国产亚洲欧美成人久久片| 91精品国产9l久久久久| 99久久婷婷国产综合亚洲| 久久久精品人妻一区二区三区四| 日产精品久久久久久久|