>>444
>ポインタを渡さないというルールは厳しい気もするしポインタ渡しを許したときに
>それが循環参照になるかどうかの把握は特に他人のコードだと判断難しくない?

こういうことを書いてるってことは、何でもかんでもポインタ渡しのときは
shared_ptr使うと思ってる?
その必要は全然無いよ、少なくとも俺はそうしない
例えばcallerがポインタの所有権を持っていて、calleeはただそれを一時的に
利用する、所有権は要らない、というよくある関数でのポインタ渡しでは
素直に生ポインタを渡せばいいんだよ、というか俺はそうする

shared_ptrを渡す必要があるのは、相手も所有権を必要としているときだけだ
だから、そう書いていれば自動的に明確だろ