CLogFactoryRpc::Create()
{
return std::shared_ptr<ILog>(new CRpcLog());
}
замена
std::shared_ptr<ILog> CLogFactoryRpc::Create()
{
return std::make_shared<CRpcLog>();
}
то, что предлагает решарпер
std::shared_ptr<ILog> CLogFactoryRpc::Create()
{
return std::static_pointer_cast<ILog>(std::make_shared<CRpcLog>());
}
честно скажем, я до этого исправления о static_pointer_cast и не слышал, всегда make_shared юзал
если CRpcLog* static_cast-ится в ILog* (вероятно, первое является наследником второго), можно же просто писать return make_shared<CRpcLog>();
ReSharper предлагает 3-й вариант? Я посмотрю.
Обсуждают сегодня