У меня есть код, похожий на этот:
std::unique_ptr<Object> get_raii_object()
{
return std::make_unique<Object>(/* Many parameters that I don't want to write several times, if I remove this function altogether */ );
}
void some_code()
{
std::unique_ptr<Object> raii_object_holder = get_raii_object();
more_code();
}
Resharper C ++ помечает «raii_object_holder» как неиспользуемую локальную переменную, хотя это необходимо.
Я предпочитаю избегать отключения этого предупреждения, локально или глобально
Почему бы и нет:
class ConfiguredObject : public Object
{
public:
ConfiguredObject()
: Object(/* Many parameters that I don't want to write several times, if I remove this function altogether */)
{}
};
void some_code()
{
ConfiguredObject object_holder;
}