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

小山日志
讀書,學習與思考.
posts - 9,comments - 14,trackbacks - 0

2. 函數模板 checked_delete() checked_array_delete()

<boost/checked_delete.hpp> 定義了兩個函數模板 checked_delete checked_array_delete 還有兩個類模板 checked_deleter checked_array_deleter。

當我們利用指針刪除一個對象的時候,對象類型是否完整決定了對象是否能夠被正確刪除。但是,如果你用 delete 去刪除一個類型并不完整的對象的指針,編譯器并不會給你提供任何錯誤信息(好吧,有些編譯器會給出警告信息,但是程序員通常會忽略警告信息),但是這樣做的結果卻是對象的析構函數根本就沒有被調用。

所以,我們應當使用更嚴厲的手段禁止這種事情的發生。比如說使用 checked_delete 代替 delete 來刪除指針。當指針所指向的是一個不完全類型時, checked_delete 會使編譯器發出錯誤信息。

class ?test; // 有聲明,但是忘記了定義,或是忘記????
??????????
// 包含定義文件,test是一個不完全類型

main()
{
test?
* ?pt? = ?NULL;
delete?pt;??
//
?有時會有警告信息,
????????????
// 但有時什么都沒有。

checked_delete(pt);? // ?發出錯誤信息。
}

checked_array_delete 是用來對應于 delete [ ] operator checked_deleter checked_array_deleter 是可以配接的仿函數版本。

3. 函數模板 next() prior()
包括

template < class T > T?next(T?x);
template
< class T, class ?Distance >
T?next(T?x,?Distance?n);
template
< class T >
T?prior(T?x);
template
< class T, class ?Distance >
T prior(T?x,?Distance?n);

函數模板對傳入的指針,智能指針或是迭代器做遞增或遞減,并傳回它。用法如下:

const ?std::list < T > ::iterator?p? = ?get_some_iterator();
const ?std::list < T > ::iterator?prev? =
?boost::prior(p);
const ?std::list < T > ::iterator?next? = ?boost::next(prev,? 2 );

事實上, T next(T x) T prior(T x) 將分別調用 operator++ operator-- ,而 T next(T x, Distance n) T prior(T x, Distance n) 則調用 std::distance(T x, size_t n)

4.noncopyable

如果你需要設計一個不可以被復制的類,那么你就要明確地將它的拷貝構造函數和 operator = () 放到 private 聲明下面。 Boos\utility 準備了一個基類 noncopyable ,你只需要讓你的類繼承自 noncopyable 就可以獲得這個性質。對你的類來說這也是一個顯式的聲明:“我是不可以被復制的!”
用法:

#include? < boost / utility.hpp >

class
?ResourceLadenFileSystem?:?boost::noncopyable?{


5 .函數模板 addressof()

函數模板返回一個對象的真實地址(當然這是交給指針了):

template < typename?T > inline?T * ????????????????addressof(T & ?v);
template
< typename?T > inline const ?T * ???????? addressof( const ?T &
?v);
template
< typename?T > inline volatile ?T * ????? addressof( volatile ?T &
?v);
template
< typename?T > inline const volatile T * ?addressof( const volatile T & v);

我知道你想說,為什么不是簡單的調用operator&()。因為c++允許重載operator&(),所以有時使用它獲得的并不是對象的真實地址,而是編寫重載operator&()代碼的作者希望給你的那個。如果你卻是希望獲得的是這個對象的地址,使用addressof():

#include?<boost/utility.hpp>
struct?useless_type?{};

class
?nonaddressable?{
??useless_type?
operator&()?const
;
};

void
?f()?{
??nonaddressable?x;
??nonaddressable
*?xp?=
?boost::addressof(x);
??
//?nonaddressable*?xpe?=?&x;?//
error!?operator&()已經被重載,
??????????????????????????????
//它返回的是useless_type的指針
}




上述的所有東西都可以簡單的通過在你的源文件開頭處寫上:
#include?<boost\utility.hpp>
using?namespace?boost;
就可以使用了。當然我是指你機器上已經有boost這個奇妙的庫,并且正確配置^_^
posted on 2006-08-16 00:24 小山日志 閱讀(905) 評論(0)  編輯 收藏 引用 所屬分類: stl/boost/loki/generically
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产日韩精品| 欧美成人精品激情在线观看| 欧美久久久久免费| 亚洲精品在线二区| 亚洲精品九九| 欧美视频在线观看视频极品| 亚洲图片在线观看| 亚洲私人影吧| 国产一区二区三区在线免费观看| 久久手机精品视频| 久久久噜久噜久久综合| 亚洲人午夜精品| 日韩一区二区精品葵司在线| 国产精品久久久久久一区二区三区| 亚洲午夜精品网| 欧美一级在线亚洲天堂| 激情成人av| 亚洲精品久久久久久久久久久久久| 欧美福利一区二区| 午夜亚洲激情| 久久影院午夜片一区| 亚洲九九精品| 欧美一级专区| 亚洲精品中文字幕在线观看| 国产精品99久久久久久有的能看 | 亚洲大片免费看| 欧美成人第一页| 午夜一区二区三视频在线观看| 久久精品导航| 在线视频精品一区| 久久黄色级2电影| 一本久久a久久免费精品不卡| 亚洲欧美激情一区二区| 91久久精品日日躁夜夜躁欧美| 99精品免费网| 亚洲高清视频的网址| 亚洲天堂av图片| 亚洲日产国产精品| 欧美自拍丝袜亚洲| 亚洲欧美视频一区| 欧美交受高潮1| 久久美女性网| 国产精品日韩一区| 91久久精品一区| 在线观看国产成人av片| 亚洲在线一区| 亚洲视频在线播放| 欧美成人性网| 欧美成人中文字幕在线| 国产色婷婷国产综合在线理论片a| 亚洲人成艺术| 亚洲免费成人av| 老司机凹凸av亚洲导航| 久久精品盗摄| 国产欧美日韩高清| 亚洲影音一区| 亚洲欧美一区二区三区久久| 欧美精品色网| 亚洲激情在线视频| 亚洲精品国产日韩| 欧美a级一区| 亚洲第一福利在线观看| 亚洲国产精品第一区二区| 久久av最新网址| 久久精视频免费在线久久完整在线看| 欧美一区三区三区高中清蜜桃| 久久国产精品一区二区| 久久精品国产亚洲一区二区| 国产精品入口麻豆原神| aa级大片欧美| 亚洲性视频网站| 欧美日韩一区二区在线视频| 99热在这里有精品免费| 亚洲私人影院| 国产乱码精品一区二区三区不卡 | 日韩亚洲欧美一区| 亚洲一区二区三区久久| 欧美日本韩国| 正在播放亚洲一区| 久久成人免费网| 国产一区亚洲一区| 另类亚洲自拍| 欧美r片在线| 国产情侣一区| 亚洲女女做受ⅹxx高潮| 欧美中文字幕久久| 永久域名在线精品| 欧美.日韩.国产.一区.二区| 亚洲人线精品午夜| 亚洲欧美日韩爽爽影院| 国产视频欧美视频| 久久久亚洲欧洲日产国码αv| 欧美激情一二三区| 亚洲中无吗在线| 国产一区二区三区四区三区四| 久久免费国产精品1| 91久久在线播放| 亚洲一区二区免费在线| 国产亚洲制服色| 欧美福利视频| 午夜精品久久久久久久99黑人| 久久一区二区三区国产精品 | 欧美精品在线观看播放| 夜夜嗨av一区二区三区| 久久精品视频在线| 99精品欧美一区二区三区综合在线| 国产精品久久久久国产精品日日| 久久精品国产亚洲a| 亚洲精品韩国| 久久中文欧美| 亚洲欧美日韩人成在线播放| 亚洲黑丝在线| 国产视频在线观看一区二区三区| 欧美激情片在线观看| 亚洲欧美日韩网| 日韩亚洲欧美成人| 欧美激情精品久久久| 欧美一区二区在线视频| 中文在线资源观看网站视频免费不卡 | 亚洲一级影院| 欧美大色视频| 欧美专区在线| 亚洲欧美成人精品| 亚洲精品在线免费观看视频| 黄色一区二区三区| 国产精品青草综合久久久久99| 欧美成人激情在线| 久久成人av少妇免费| 亚洲一二三四区| 99在线精品视频| 亚洲精品一品区二品区三品区| 欧美1区3d| 久久综合给合久久狠狠色| 欧美亚洲免费电影| 亚洲午夜久久久| 一本大道久久a久久精二百| 在线精品视频一区二区| 黄色一区三区| 国内外成人免费视频| 国产日韩欧美不卡| 国产日韩欧美精品在线| 国产精品一区在线播放| 国产精品爽爽ⅴa在线观看| 国产精品jizz在线观看美国| 欧美激情综合色综合啪啪| 欧美激情一区二区三区在线视频观看| 久久久91精品国产一区二区精品| 欧美一区二区三区在线观看| 亚洲在线黄色| 香蕉免费一区二区三区在线观看| 亚洲欧美国产三级| 欧美在线电影| 久久午夜精品一区二区| 麻豆精品在线视频| 欧美国产成人精品| 欧美精品一区在线发布| 欧美日韩一区二区三区视频| 欧美亚州韩日在线看免费版国语版| 欧美日韩精品一区二区天天拍小说 | 麻豆精品网站| 最新精品在线| 欧美特黄一级| 国产精品嫩草影院av蜜臀| 一本一本久久a久久精品牛牛影视| 午夜精品福利一区二区蜜股av| 国产一区二区三区四区老人| 激情综合色综合久久| 亚洲第一久久影院| 亚洲另类一区二区| 亚洲永久在线| 久久久噜噜噜| 亚洲美女免费精品视频在线观看| 一区二区欧美视频| 欧美一区二区三区在线播放| 美女图片一区二区| 国产精品免费一区二区三区在线观看 | 久久国产精品高清| 国产日韩精品一区二区三区在线 | 亚洲精品国产精品乱码不99| 亚洲欧洲日本一区二区三区| 夜夜嗨av一区二区三区网站四季av| 亚洲深夜福利网站| 久久久精品国产免大香伊| 欧美激情中文不卡| 亚洲一区二区三区欧美| 老司机亚洲精品| 国产精品一区二区三区四区五区| 国产亚洲观看| 亚洲视频日本| 欧美激情小视频| 午夜精品久久久久久久久| 欧美成人午夜视频| 国产一区二区三区久久久| 亚洲最新合集| 欧美国产精品日韩| 欧美在线一二三区| 国产精品啊啊啊| 亚洲美女视频网| 老色鬼精品视频在线观看播放| 一区二区三区四区五区在线|