sp_unary_addr_test.cpp
来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 68 行
CPP
68 行
//// sp_unary_addr_test.cpp//// Copyright (c) 2007 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)//#include <boost/shared_ptr.hpp>#include <boost/detail/lightweight_test.hpp>#include <memory>struct deleter{private: void operator& (); void operator& () const;public: int data; deleter(): data( 17041 ) { } void operator()( void * ) { }};struct X{};int main(){ X x; { boost::shared_ptr<X> p( &x, deleter() ); deleter * q = boost::get_deleter<deleter>( p ); BOOST_TEST( q != 0 ); BOOST_TEST( q != 0 && q->data == 17041 ); }#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1300 )#else { boost::shared_ptr<X> p( &x, deleter(), std::allocator<X>() ); deleter * q = boost::get_deleter<deleter>( p ); BOOST_TEST( q != 0 ); BOOST_TEST( q != 0 && q->data == 17041 ); }#endif return boost::report_errors();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?