В C.1.3 С++ IS (2003. Он также в С++ 11 IS), стандарт указывает разницу между ISO C и С++; а именно для
char arr[100];
 sizeof(0, arr) возвращает sizeof(char*) в C, но 100 в С++.
Я не могу найти документацию для sizeof с двумя аргументами. Очевидным резервным является запятый оператор, но я так не думаю: sizeof(arr) в C есть 100; sizeof(0, arr) - sizeof(char*). Оба sizeof(0, arr) и sizeof(arr) являются 100 в С++.
В этом контексте может отсутствовать вся суть IS. Может ли кто-нибудь помочь? Это похоже на вопрос, обсуждавшийся еще в '09, но никто не ссылался на ИС, и я не думаю, что был дан правильный ответ.
  Изменить. На самом деле IS говорит о запятой. Поэтому по какой-то причине (0, arr) возвращает a char* в C, но a char[100] в С++. Почему?
