私は今、unique_ptrを用いてメモリ管理を行っています。
その際、unique_ptrで配列を動的確保し、それをforeach文で回す方法があるかどうか知りたいです。

具体的には、

unique_ptr < int[] > foo = make_unique< int[] >(20);
for(auto& a : foo){
    a = 0;
}

のような感じです。
unique_ptrにはイテレータが用意されていないので、私の知識ではこのような処理を記述することができませんが、配列の要素数を気にせず使えるので、出来ればforeach文で処理したいと考えています。
C++はまだ1年も触ってない初心者ですので、解りにくい表現や、間違えて認識している部分を多々あるとは思いますが、どなたかご教授願います。