• <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| 国产精品久久新婚兰兰| 中文字幕久久精品无码| 久久精品国产亚洲沈樵| 中文字幕久久亚洲一区| 久久午夜电影网| 一本色道久久综合| 91精品国产91久久| 久久av无码专区亚洲av桃花岛| 久久精品国产69国产精品亚洲| 伊人久久大香线蕉综合5g| 日本精品久久久久中文字幕8| 久久精品国产一区二区三区| 久久超乳爆乳中文字幕| 久久成人国产精品免费软件| 国产视频久久| 岛国搬运www久久| 久久―日本道色综合久久| 久久亚洲精品中文字幕| 久久久久亚洲AV无码专区首JN| 国产成人综合久久久久久| 精品久久人妻av中文字幕| 一本色道久久88—综合亚洲精品| 久久精品国产精品亚洲人人 | 一本久久久久久久| 久久久老熟女一区二区三区| 最新久久免费视频| 久久国产精品无| 狠狠色丁香久久婷婷综合图片| 99久久精品九九亚洲精品| 一级做a爰片久久毛片人呢| 亚洲综合婷婷久久| 久久综合狠狠综合久久激情 | 久久免费国产精品一区二区| 国产精品久久久久久久久免费 | 精品久久久久久久无码| 91精品国产9l久久久久| 一本大道久久a久久精品综合| 国产—久久香蕉国产线看观看 | 亚洲中文字幕久久精品无码APP |