>>304
visual studioのuniqueは下のようになっていて余計にややこしいです
というか連続しない同一要素は取り除いてくれないようなので参考になりませんでした
勉強にはなりましたが・・・

int f = 0, b;
int l = size+1;
while ( ( b = f ) != l && ++f != l )
if ( array[b] == array[f] )
{
while ( ++f != l )
if ( !( array[b] == array[f] ) )
array[++b] = array[f];
return ++b;
}
return l;