생성을 람다식 내에서 한 다음 반환한 값을 취하는 형태로 쓰는건 나쁜 행동임?

c++로 하면

unique_ptr<vector> foo = (
    [](){ unique_ptr<vector> temp = make_unique<vector>(size)
            //setup values
            return move(temp)
         }) ()


의외로 배열 생성에 대해 명확하게 표기할 수 있는 것 같기도 한데 어떰? 그냥 개짓거리임?