this call 
delete pointer;
but not delete [] pointer;

if you will use boost::shared_ptr for arrays it will fail on more complicated types:

class A
{
public:
	A()
	{
	}
	~A()
	{
	}
};
	{
		boost::shared_ptr< A > a( new A[ 15 ] );
	}