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 + -
显示快捷键?