Typically you can insert elements at the end of an std::vector. For this, the push_back() function is used.
If you want to insert in any arbitrary position you can use the insert() function.
But to be honest, I'm not sure what you're after as the term "diagonal array" means nothing to me. Maybe you can explain what do you mean by that.
An array is a one-dimensional container where elements are located next to one another in the memory. If you want to visualize this as horizontal or vertical (or diagonal or spiral or whatever way), it's up to you.
[Element1][Element2][Element3]...[ElementN]