Note that while scalar (regular) placement new is useful, the array form is more or less useless. It won't reliably place the first object in the array at the address you give it, which pretty much defeats the purpose of using placement new in the first place.
Interesting.
What does it do then? Place it at the next highest address that satisfies the alignment requirements of the type? That sounds sane, if that is in fact what happens. It just places the additional constraint on you as a programmer that you have to ensure the address you give it is suitably aligned. I would have assumed the same for non-array placement new anyhow.. does it not balk if you hand it an unaligned address?