const shared_ptr<T> &はアホが使うものだとメイヤー先生も言っている
ここは
 × const shared_ptr<T> &
 × weak_ptr<T> &
 ○ const T &
が正解