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

Note of Justin

關(guān)于工作和讀書的筆記

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  47 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

留言簿(14)

搜索

  •  

積分與排名

  • 積分 - 53383
  • 排名 - 433

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

[原創(chuàng)文章歡迎轉(zhuǎn)載,但請(qǐng)保留作者信息]
Justin 于 2010-06-02


上堂課說的是重載new和delete的需要,今天大師開講在寫new和delete時(shí)需要注意的問題。

課堂筆記如下:
???? 對(duì)于new
  • C++要求new操作符可以接受0字節(jié)的分配。書中給出的方法是當(dāng)成分配一個(gè)字節(jié)來處理,理由是這樣簡(jiǎn)單,合法,可以工作,而且不會(huì)有多少人真的要分配0字節(jié)的內(nèi)存。不深究了,不然太鉆牛角尖了。
  • new的過程應(yīng)該是個(gè)無限循環(huán),跳出循環(huán)的途徑只有:
    1. 成功分配了內(nèi)存
    2. 想方設(shè)法“擠”出內(nèi)存來分配,“安裝”另外一個(gè)new handler繼續(xù)處理,或是拋出異常。
  • 要考慮到為某個(gè)類寫的new操作會(huì)可能被其子類繼承。在前幾天的49課中大師有提到可以為一個(gè)類(比如aClass)量身訂作其專屬的new和new handler,尤其是new函數(shù),作者有可能在編寫的時(shí)候利用了其專屬類的大小(比如sizeof(aClass))做了一些優(yōu)化。這種優(yōu)化是專對(duì)于這一個(gè)類的,如果用在其子類中就幾乎肯定要出問題,因?yàn)樽宇惖拇笮∫话愣员然愐蟆?/li>
???? 解決辦法之一就是在new函數(shù)的入口處添加下面的判斷:
void?*aClass::operator?new(std::size_t?size)?throw(std::bad_alloc)
{
???
if?(size?!=?sizeof(aClass))
??????
return?::operator?new(size);
???
//?ok,?we?are?"newing"?an?aClass?object,?go?ahead..
}
??? 當(dāng)判斷結(jié)果為假時(shí),就放棄使用類專屬的new函數(shù),讓“標(biāo)配”的new函數(shù)去處理。
  • 當(dāng)需要編寫operator new[]時(shí),情況變得更加復(fù)雜:
  • 你的new[]函數(shù)可能會(huì)被用于批量分配一組內(nèi)存,聲稱是給基類對(duì)象的,到了后面卻有一些被子類對(duì)象使用。如前所述兩者大小不一樣,于是你不能假設(shè)aClass::operator new[]中的size就是sizeof(aClass)。
  • 拋開第一點(diǎn)不談,傳給new[]函數(shù)的size還不一定是用來存放一個(gè)類對(duì)象的大小,因?yàn)楫?dāng)要分配一組內(nèi)存的時(shí)候,有些平臺(tái)上會(huì)要求額外的空間來存放數(shù)組的大小。
???? 很可惜大師沒有給出具體的例子來解決上面的問題,也許是需要具體問題具體分析的吧。

???? 對(duì)于delete
  • 類似的,C++也要求可以delete一個(gè)空內(nèi)存(null pointer),在delete中就簡(jiǎn)單多了,如果是空,就直接返回。
  • 同樣的,對(duì)于某個(gè)類的專屬delete函數(shù),在入口處需要判斷一下將要釋放內(nèi)存的大小是否和該類對(duì)象的大小一致,如果不一致,就交給“標(biāo)配”的delete函數(shù)去處理。踢皮球,很簡(jiǎn)單@#¥%
  • 如果一個(gè)類的delete函數(shù)用于釋放其子類的對(duì)象內(nèi)存,基本上來說就會(huì)出錯(cuò),因?yàn)榛惡妥宇悓?duì)delete來說是完全不同的對(duì)象類型。解決的辦法不在delete函數(shù),而在于基類的析構(gòu)函數(shù)要寫成虛函數(shù)。
posted on 2010-06-02 23:52 Justin.H 閱讀(1063) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Effective C++ 炒冷飯
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲电影视频在线| 久久激情综合| 欧美日韩免费在线| 亚洲欧美激情四射在线日| 免费一级欧美片在线观看| 亚洲免费影视第一页| 一本色道久久加勒比精品| 亚洲高清久久| 在线观看欧美| 伊人狠狠色j香婷婷综合| 韩国女主播一区二区三区| 国产久一道中文一区| 国产精品免费小视频| 国产精品亚洲片夜色在线| 国产精品腿扒开做爽爽爽挤奶网站 | 亚洲激情一区| 国产日韩欧美不卡| 国产一区二区三区高清| 亚洲大片免费看| 亚洲日本成人| 在线观看av不卡| 最新日韩精品| 亚洲伊人第一页| 性色av一区二区三区| 欧美影视一区| 欧美福利视频在线| 亚洲精品一区二区三区99| 久久精品夜色噜噜亚洲a∨| 亚洲男人第一网站| 在线视频欧美精品| 亚洲一区二区三区精品视频| 亚洲综合日韩在线| 欧美中文字幕在线观看| 久久亚洲春色中文字幕| 亚洲三级免费电影| 亚洲一区国产| 午夜精品久久久| 欧美影视一区| 男男成人高潮片免费网站| 欧美国产日韩a欧美在线观看| 日韩视频中午一区| 欧美中文字幕不卡| 欧美色偷偷大香| 在线成人激情| 亚洲一区在线视频| 久久手机精品视频| 一本综合久久| 欧美国产三级| 国产综合婷婷| 香蕉久久夜色| 91久久久久久久久| 久久精品视频免费观看| 国产精品久久久久久久久搜平片| 亚洲国产高潮在线观看| 欧美在线视频在线播放完整版免费观看 | 亚洲二区在线观看| 亚洲一区二区三区视频播放| 久久免费视频在线| 亚洲无毛电影| 欧美视频中文在线看| 亚洲免费观看视频| 麻豆精品视频| 欧美一区午夜精品| 国产精品美女www爽爽爽| 日韩视频―中文字幕| 免费精品99久久国产综合精品| 亚洲一区二区毛片| 欧美日韩在线三区| 洋洋av久久久久久久一区| 欧美成人tv| 久久久综合网| 一色屋精品亚洲香蕉网站| 欧美在线免费观看视频| 亚洲一区二区四区| 国产精品高清在线观看| 亚洲免费av电影| 亚洲欧洲一区| 欧美精品九九99久久| 亚洲日本欧美| 91久久一区二区| 欧美日本不卡视频| 一区二区日韩欧美| 国产精品99久久久久久久久久久久 | 欧美一级专区| 中文在线不卡视频| 国产一区自拍视频| 午夜精品久久久久久99热| 一区二区三区欧美成人| 欧美精品偷拍| 一本不卡影院| 亚洲精品国精品久久99热| 欧美顶级艳妇交换群宴| 欧美在线一级视频| 亚洲欧洲日本在线| 亚洲黄色毛片| 欧美三区美女| 午夜视频在线观看一区| 亚洲欧美在线高清| 国内欧美视频一区二区| 欧美成人小视频| 欧美黄色小视频| 亚洲图片欧美午夜| 亚洲自拍高清| 国产在线不卡视频| 久久se精品一区精品二区| 一区二区三区欧美视频| 国产精品久久久久高潮| 欧美亚洲免费电影| 久久久久久久久一区二区| 亚洲黄色在线看| 亚洲电影在线看| 欧美三级视频| 久久一区国产| 欧美精品久久99久久在免费线| 午夜精品视频一区| 六月丁香综合| 欧美一级专区免费大片| 久久久亚洲精品一区二区三区| 亚洲人成人99网站| 亚洲在线观看| 亚洲第一精品久久忘忧草社区| 午夜精品久久久久久久蜜桃app | 亚洲黄色在线看| 亚洲一区二区三区国产| 亚洲视频一二| 另类激情亚洲| 久久三级视频| 国产视频一区二区在线观看 | 欧美电影免费| 国产精品一区二区女厕厕| 欧美福利一区二区三区| 欧美午夜久久久| 欧美在线亚洲在线| 欧美成人精品在线观看| 午夜视频一区| 欧美波霸影院| 久久亚洲美女| 国产欧美一区二区精品仙草咪 | 久久久福利视频| 久久av资源网站| 国产精品午夜国产小视频| 亚洲人成人一区二区三区| 亚洲二区在线观看| 久久久久久999| 国产精品老女人精品视频| 一区二区高清| 一区二区三区免费观看| 免费观看亚洲视频大全| 亚洲欧美一区二区在线观看| 久久偷窥视频| 久久成人精品一区二区三区| 国产精品成人免费视频 | 欧美精品在欧美一区二区少妇| 美腿丝袜亚洲色图| 国产一区二区三区四区五区美女| 宅男噜噜噜66国产日韩在线观看| 99精品国产一区二区青青牛奶| 欧美成人免费在线| 亚洲日韩成人| 一区二区三区四区五区视频| 欧美精品一区二区三区视频| 亚洲激情一区二区| 洋洋av久久久久久久一区| 欧美日韩蜜桃| 欧美大片在线看免费观看| 亚洲精品影院| 欧美视频一区| 老司机午夜精品视频在线观看| 欧美大片一区| 欧美在线亚洲综合一区| 今天的高清视频免费播放成人| 久久久福利视频| 亚洲精品一区二区三区不| 一区二区日韩欧美| 一区二区三区在线免费视频| 免费黄网站欧美| 欧美成人国产| 亚洲欧美在线看| 雨宫琴音一区二区在线| 欧美性做爰毛片| 欧美在线国产| 在线亚洲自拍| 欧美影院精品一区| 91久久久亚洲精品| 国产农村妇女毛片精品久久麻豆| 欧美国产日韩在线| 久久人人97超碰人人澡爱香蕉| 亚洲美女色禁图| 亚洲第一天堂av| 久久一日本道色综合久久| 亚洲综合色激情五月| 夜久久久久久| 亚洲激情av在线| 精品99一区二区三区| 国产嫩草一区二区三区在线观看| 欧美日韩系列| 欧美体内she精视频在线观看| 老妇喷水一区二区三区| 久久精品中文字幕免费mv| 欧美一区亚洲一区|