私は流暢なインターフェースパターンで遊んでいます。
まず、私はそのようなものを書きました:
class C
{
public:
C() { }
C* inParam1(int arg1){ param1 = arg1; return this; }
C* inParam2(int arg2){ param2 = arg2; return this; }
private:
int param1;
int param2;
}
次に、std :: unique_ptrを使用しようとしましたが、チェーンに沿ってポインター(this)を「シフト」する方法がわからないことに気付きました。私は次のようなことを試しました:
return std::move(this);
もちろんそれは機能しません。
これどうやってするの?このようなことをするのに何か問題はありますか?
「ポインタを使わないでください」のようなコメントに返信するために:私はポインタを使ってこれを行っているので、(まだ)実用的な理由はありませんが、この方法でできるかどうか疑問に思っています。