Is it legal to do the following in C++:
const T array[3]{ **some expression**, **another expression**, T{ 1 } - array[0] - array[1] }; In other words: will the 3rd element always be initialized to 1 - **some expression** - **another expression**?