今更な質問よかですか?

deleteとdelete[]の明確な違いってなんでしょう?
X *pX= new X[5];
delete pX;
ってやったらどうなんの?

もう一点。
それは処理系による違いってある?