锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产99久久精品一区二区,亚洲国产精品嫩草影院久久,久久久久久国产精品美女 http://m.shnenglu.com/tianbianlan/category/10969.htmlzh-cn Sat, 25 Jul 2009 05:49:30 GMT Sat, 25 Jul 2009 05:49:30 GMT 60 Boost.Regex搴撳涔?fàn)绗旇?/title> http://m.shnenglu.com/tianbianlan/archive/2009/07/24/91015.html澶╄竟钃?/dc:creator>澶╄竟钃?/author>Fri, 24 Jul 2009 03:48:00 GMT http://m.shnenglu.com/tianbianlan/archive/2009/07/24/91015.html http://m.shnenglu.com/tianbianlan/comments/91015.html http://m.shnenglu.com/tianbianlan/archive/2009/07/24/91015.html#Feedback 0 http://m.shnenglu.com/tianbianlan/comments/commentRss/91015.html http://m.shnenglu.com/tianbianlan/services/trackbacks/91015.html 闃呰鍏ㄦ枃 ]]> boost/checked_delete.hpp http://m.shnenglu.com/tianbianlan/archive/2009/06/22/88272.html澶╄竟钃?/dc:creator>澶╄竟钃?/author>Mon, 22 Jun 2009 05:26:00 GMT http://m.shnenglu.com/tianbianlan/archive/2009/06/22/88272.html http://m.shnenglu.com/tianbianlan/comments/88272.html http://m.shnenglu.com/tianbianlan/archive/2009/06/22/88272.html#Feedback 0 http://m.shnenglu.com/tianbianlan/comments/commentRss/88272.html http://m.shnenglu.com/tianbianlan/services/trackbacks/88272.html
1 #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED 2 #define BOOST_CHECKED_DELETE_HPP_INCLUDED 3 4 // MS compatible compilers support #pragma once 5 6 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 7 # pragma once 8 #endif 9 10 // 11 // boost/checked_delete.hpp 12 // 13 // Copyright (c) 2002, 2003 Peter Dimov 14 // Copyright (c) 2003 Daniel Frey 15 // Copyright (c) 2003 Howard Hinnant 16 // 17 // Distributed under the Boost Software License, Version 1.0. (See 18 // accompanying file LICENSE_1_0.txt or copy at 19 // http://www.boost.org/LICENSE_1_0.txt ) 20 // 21 // See http://www.boost.org/libs/utility/checked_delete.html for documentation. 22 // 23 24 namespace boost 25 { 26 27 // verify that types are complete for increased safety 28 29 template< class T > inline void checked_delete(T * x) 30 { 31 // intentionally complex - simplification causes regressions 32 typedef char type_must_be_complete[ sizeof (T) ? 1 : - 1 ]; 33 (void ) sizeof (type_must_be_complete); 34 delete x;35 }36 37 template< class T > inline void checked_array_delete(T * x) 38 { 39 typedef char type_must_be_complete[ sizeof (T) ? 1 : - 1 ]; 40 (void ) sizeof (type_must_be_complete); 41 delete [] x;42 }43 44 template< class T > struct checked_deleter 45 { 46 typedef void result_type; 47 typedef T * argument_type; 48 49 void operator ()(T * x) const 50 { 51 // boost:: disables ADL 52 boost::checked_delete(x); 53 }54 }; 55 56 template< class T > struct checked_array_deleter 57 { 58 typedef void result_type; 59 typedef T * argument_type; 60 61 void operator ()(T * x) const 62 { 63 boost::checked_array_delete(x);64 }65 }; 66 67 } // namespace boost 68 69 #endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
------------------------------------ source錛?a >http://www.boost.org/doc/libs/1_39_0/libs/utility/checked_delete.html
The header <boost/checked_delete.hpp> defines two function templates, checked_delete and checked_array_delete, and two class templates, checked_deleter and checked_array_deleter.
The C++ Standard allows, in 5.3.5/5, pointers to incomplete class types to be deleted with a delete-expression. When the class has a non-trivial destructor, or a class-specific operator delete, the behavior is undefined. Some compilers issue a warning when an incomplete type is deleted, but unfortunately, not all do, and programmers sometimes ignore or disable warnings.
A particularly troublesome case is when a smart pointer's destructor, such as boost::scoped_ptr<T>::~scoped_ptr, is instantiated with an incomplete type. This can often lead to silent, hard to track failures.
The supplied function and class templates can be used to prevent these problems, as they require a complete type, and cause a compilation error otherwise.
Synopsis
1 namespace boost 2 { 3 4 template< class T > void checked_delete(T * p); 5 template< class T > void checked_array_delete(T * p); 6 template< class T > struct checked_deleter; 7 template< class T > struct checked_array_deleter; 8 9 }10 11 checked_delete12 template< class T > void checked_delete(T * p); 13 14
Requires: T must be a complete type. The expression delete p must be well-formed.
Effects: delete p;
1 checked_array_delete 2 template< class T > void checked_array_delete(T * p); 3 Requires: T must be a complete type. The expression delete [] p must be well- formed. 4 5 Effects: delete [] p; 6 7 checked_deleter 8 template< class T > struct checked_deleter 9 { 10 typedef void result_type; 11 typedef T * argument_type; 12 void operator ()(T * p) const ; 13 }; 14 15 void checked_deleter < T > :: operator ()(T * p) const ; 16 17
Requires: T must be a complete type. The expression delete p must be well-formed.
Effects: delete p;
1 checked_array_deleter 2 template< class T > struct checked_array_deleter 3 { 4 typedef void result_type; 5 typedef T * argument_type; 6 void operator ()(T * p) const ; 7 }; 8 9 void checked_array_deleter < T > :: operator ()(T * p) const ; 10
Requires: T must be a complete type. The expression delete [] p must be well-formed.
Effects: delete [] p;
Acknowledgements The function templates checked_delete and checked_array_delete were originally part of <boost/utility.hpp>, and the documentation acknowledged Beman Dawes, Dave Abrahams, Vladimir Prus, Rainer Deyke, John Maddock, and others as contributors.
Copyright © 2002 by Peter Dimov. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt .
]]>
国产国产成人久久精品 |
久久99国产精品久久久
|
爱做久久久久久 |
日本高清无卡码一区二区久久 |
欧美精品乱码99久久蜜桃 |
久久人人爽人人爽人人AV东京热
|
91久久精品国产免费直播 |
久久精品国产亚洲7777 |
亚洲精品乱码久久久久久蜜桃不卡 |
久久超碰97人人做人人爱 |
天堂无码久久综合东京热 |
精品久久久久久成人AV |
日韩欧美亚洲国产精品字幕久久久
|
奇米影视7777久久精品人人爽 |
国产视频久久 |
久久综合亚洲欧美成人 |
中文精品99久久国产 |
久久亚洲高清观看 |
亚洲精品乱码久久久久久中文字幕
|
久久精品18 |
中文字幕乱码久久午夜 |
久久婷婷五月综合色99啪ak |
avtt天堂网久久精品 |
久久亚洲国产最新网站 |
久久综合狠狠色综合伊人 |
久久99精品久久久久婷婷 |
国内精品久久久久久久久电影网
|
久久这里的只有是精品23 |
精品久久久久久久中文字幕 |
97超级碰碰碰久久久久 |
嫩草伊人久久精品少妇AV |
18禁黄久久久AAA片 |
久久久久女教师免费一区 |
51久久夜色精品国产 |
久久久久久综合一区中文字幕 |
97久久精品无码一区二区 |
国产午夜福利精品久久2021 |
精品久久久噜噜噜久久久 |
国产精品美女久久久久 |
久久99国产精品久久久 |
国产综合精品久久亚洲 |