имя, прозвище, кличка или что-то в этом роде. (_glav_) wrote,
имя, прозвище, кличка или что-то в этом роде.
_glav_

С/С++

"всю жизнь" считал, что объявления типа
int n;
char a[n];
нелегальны, и что компилятор должен отлавливать такие вещи. в то время, как легальными являются только
const int n;
char a[n];
или
int n;
char *a = new int[n];

Но столкнулся с тем, что и gcc, и g++ не только не отлавливают, но и делают непадающие executable из такого кода.

Оказывается, такое объявление нелегально в С++ (? вообще интересно, т.к. g++ это дело тоже пропускает), но легально в С: Variable-length array были добавлены в С99. Кто-нибудь знает, есть ли в Сети бесплатная копия стандартов?

Тут я щё нашёл доки двух версий компилятора от IBM вроде как ([1], [2]), один из которых позволяет такое дело, другой - нет.
Subscribe

  • Красивая. Купим.

    Каждый раз, когда вижу в инстаграме подобные картинки, осознаю, насколько далеки современные феминистки и прочие адвокаты "gender equality" от…

  • lifestyle

    Обратил внимание на некоторую фундаментальную inconsistency в современном медицинском подходе к лечению болезней. С одной стороны, насколько я…

  • fake news

    В разгар российского нападения на Украину в их СМИ вышел сюжет про " ряспятого мальчика", о том, что украинские военные якобы распяли мальчика в…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 32 comments

  • Красивая. Купим.

    Каждый раз, когда вижу в инстаграме подобные картинки, осознаю, насколько далеки современные феминистки и прочие адвокаты "gender equality" от…

  • lifestyle

    Обратил внимание на некоторую фундаментальную inconsistency в современном медицинском подходе к лечению болезней. С одной стороны, насколько я…

  • fake news

    В разгар российского нападения на Украину в их СМИ вышел сюжет про " ряспятого мальчика", о том, что украинские военные якобы распяли мальчика в…