質問1>2号線より1号線の方が使い勝手が良いというのは本当ですか?
boost::shared_ptr<string> shpStr = boost::make_shared<string>(); // Line 1
boost::shared_ptr<string> shpStr = boost::make_shared<string>(string("")); // Line 2
質問 2> 一般的に、2 号線ではなく 1 号線を常に使用する必要があるというのは本当ですか?
boost::shared_ptr<Object> shpStr = boost::make_shared<Object>(); // Line 1
boost::shared_ptr<Object> shpStr = boost::make_shared<Object>(Object()); // Line 2
ここで、Object はデフォルトのコンストラクタを持つクラスです。