2015-08-08 23 views
0

我有一個類似的代碼:ReSharper的C++和RAII - 未使用的局部變量

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」 爲未使用的局部變量,儘管它是必要的。

我寧願避免禁用此警告,在本地或全局

+0

在我看來,你可以儘量避免使用的unique_ptr完全因爲對象僅僅需要構建和銷燬。會幫助resharper? –

+0

查看我添加的評論。這會使我將ctor params創作複製到幾個地方。 – user972014

+0

到目前爲止,ReSharper for C++中使用的解析器仍在不斷髮展。如果你看看他們最新的EAP或者團隊博客,你可以看到哪些例子會有巨大的改進。不太確定這是否已被修復,但您應該直接向JetBrains報告。 –

回答

0

爲什麼不:

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; 
}