对于句柄类的概念一直模模糊糊的,其实很简单,就是为了储存和管理类指针,使用户不必担心指针的管理。
因为要进行面向对象的编程就要使用指针或者引用,比如进行函数的动态绑定,就拿书上的例子来说:

void get_price(Item_base object,const Item_base *pointer,const Item_base &reference)
{
cout 
<< pointer->net_price(1<< endl;
cout 
<< reference.net_price(1<< endl;
/*这两个就必须用指针或者引用才能绑定,运行是确定用哪个函数*/
cout 
<< object.net->price(1<< endl;
/*这个就只调用Item_base::net_price了*/
}
主要还是为了减轻用户的负担。