(C++ ラムダを使用して) 私がやりたいことは効果的に次のとおりです。
std::vector<MyType> GetTheArray () {return something;}
const auto DoSomething = [](std::vector<MyType> & array)
{
//Some processing that involves either sorting the 'array' or setting temporary flags on the items
};
DoSomething (GetTheArray ());
右辺値を非 const 参照として渡すことができないため、これは標準 C++ では許可されていないようです。
私の質問:
1) 型キャストを使用してこれを行う方法はありますか、または GetTheArray () の結果を格納するために一時変数を作成する必要がありますか?
2) これが C++ で許可されていない正当な理由はありますか?
「GetTheArray」から返される「何か」は、格納された値ではなく、その場で構築される配列であることに注意してください。