锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产99久久精品一区二区,亚洲国产精品嫩草影院久久,久久久久久国产精品美女 http://www.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://www.shnenglu.com/tianbianlan/archive/2009/07/24/91015.html澶╄竟钃?/dc:creator>澶╄竟钃?/author>Fri, 24 Jul 2009 03:48:00 GMT http://www.shnenglu.com/tianbianlan/archive/2009/07/24/91015.html http://www.shnenglu.com/tianbianlan/comments/91015.html http://www.shnenglu.com/tianbianlan/archive/2009/07/24/91015.html#Feedback 0 http://www.shnenglu.com/tianbianlan/comments/commentRss/91015.html http://www.shnenglu.com/tianbianlan/services/trackbacks/91015.html 闃呰鍏ㄦ枃 ]]> boost/checked_delete.hpp http://www.shnenglu.com/tianbianlan/archive/2009/06/22/88272.html澶╄竟钃?/dc:creator>澶╄竟钃?/author>Mon, 22 Jun 2009 05:26:00 GMT http://www.shnenglu.com/tianbianlan/archive/2009/06/22/88272.html http://www.shnenglu.com/tianbianlan/comments/88272.html http://www.shnenglu.com/tianbianlan/archive/2009/06/22/88272.html#Feedback 0 http://www.shnenglu.com/tianbianlan/comments/commentRss/88272.html http://www.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 .
]]>
久久久久久久久无码精品亚洲日韩
|
欧美亚洲国产精品久久 |
精品国产乱码久久久久久浪潮 |
91精品婷婷国产综合久久 |
国内精品久久久久久久久电影网 |
欧美激情精品久久久久久 |
亚洲精品乱码久久久久久按摩 |
国产精品一久久香蕉产线看 |
日本国产精品久久 |
久久亚洲春色中文字幕久久久 |
国产福利电影一区二区三区久久久久成人精品综合
|
久久国产精品国语对白 |
久久无码中文字幕东京热 |
99久久精品影院老鸭窝 |
伊人久久大香线蕉精品不卡 |
91精品国产91久久综合 |
99久久国产亚洲综合精品 |
久久精品国产91久久麻豆自制 |
亚洲国产视频久久 |
久久夜色tv网站 |
亚洲午夜久久久久久久久电影网
|
一本大道久久东京热无码AV |
99热成人精品热久久669 |
午夜精品久久久久 |
狠狠久久综合伊人不卡 |
99久久无色码中文字幕 |
久久婷婷五月综合色奶水99啪 |
欧美成a人片免费看久久 |
国产福利电影一区二区三区久久久久成人精品综合
|
伊人久久综合热线大杳蕉下载 |
久久AV高潮AV无码AV |
日本精品一区二区久久久 |
一本大道加勒比久久综合 |
99久久超碰中文字幕伊人 |
五月丁香综合激情六月久久 |
国产成人精品综合久久久 |
日本WV一本一道久久香蕉 |
久久无码AV中文出轨人妻 |
蜜桃麻豆WWW久久囤产精品 |
久久伊人色 |
亚洲午夜福利精品久久 |