Modernに書かれている例だと

template< typename スレッディングモデル, typename 参照方法, ..... >
class スマートポインタ : スレッディングモデル, 参照方法, .....
{
};

なわけ、んで C++ では

スマートポインタ ptr;
スレッディングモデル *p = &ptr; // なんでやねん

ってのができるのがイヤン
ってことじゃない?>>828が言いたいのは