Почему в C ++ 11 было снято ограничение на оператор запятой в константном выражении?

Недавно когдаотвечая на вопрос Я понял, чтооператор запятой допускается в постоянном выражении вC ++ 11 до тех пор, пока выражение окружено(), например:

int a[ (1, 2) ] ;

Pre C ++ 11 запрещено использоватьоператор запятой в константном выражении, из черновика предварительного стандарта C ++ 115.19 Постоянные выражения который говорит (акцент мой):

[...] В частности, за исключением выражений sizeof, функции, объекты классов, указатели или ссылки не должны использоваться, а присваивание, приращение, уменьшение, вызов функции илиЗапятые не должны использоваться.

Почему оператор запятой не допускался в константном выражении до C ++ 11 и почему это ограничение было снято?

Ответы на вопрос(1)

Ваш ответ на вопрос