На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
Модераторы: Qraizer
  
> Поясните за стандарты языка "чистого" СИ: ANSI, C89, C90, C99, C11, C17/18...
    Всем хай! Сходу к делу!

    Я, честно говоря, не одупляю окончательно такого момента.
    Существует достаточно много стандартов языка СИ. Как понимаю, наиболее востребованные: С89 и С99, принятые в 1989 и 1999 годах соот-но.

    Допустим, мне нужно написать прожку на чистом СИ. Я использую IDE Visual Studio 2010 ULTIMATE Edition.
    Ну, во-первых, там нет возможности сразу создать проект на чистом СИ. Ок. Выбираем консольный вариант на С++.
    Во-вторых, затем в обязательном порядке переключаем компилятор на "компилировать как код С (/TC)" через опцию "Проект - Свойства - Свойства Конфигурации - С/С++ - Дополнительно - Компилировать как".
    В-третьих, ну, допустим поставил я эту опцию, но ни хрена непонятно на КАКОЙ СТАНДАРТ ЯЗЫКА СИ теперь идет ориентировка!

    Методом проб стало понятно, что С99 НЕ поддерживается, т к такой код НЕ КОМПИЛИТСЯ:
    ExpandedWrap disabled
      #include "stdafx.h"
      #include <stdio.h>
      struct TTest
      {
          int x;
      };
       
      int main(void)
      {
          TTest test;
          return 0;
      }

    потому что нет зарезервинованного слова struct перед объявлением переменной-структуры test. А вообще стандарт С99 гласит, что можно struct уже и не прописывать. Значит, эта опция в Visual Studio переводит компилятор на стандарт С89??

    А, если нужна программа на стандарте С99, тогда VS вообще НЕ ГОДИТСЯ, так??

    Слушайте, а вообще есть IDE, где при создании проекта можно выбрать СТАНДАРТ языка СИ из перечня?? Или есть такая возможность в самой VS, но т к я нуб в опциях этой ИДЕ, то просто не знаю, где это настраивается??

    И вообще, в интернетах пишут, что НИ ОДИН из существующих компиляторов для языка СИ от мелкомягких на 100% не поддерживает ни один из утвержденных стандартов СИ. Это правда??

    И все-таки, на какой стандарт ориентирован встроенный компилер языка СИ: ну, тут либо С89, либо самый первозданный, то бишь АНСИ?? или тут все вообще не так устроено....
      C99 вообще мало поддерживается компиляторами. Что касается версии Стандарта, то у строчных компиляторов зачастую есть ключики типа --std=c99 или там -Qstd:c++17 итп. Возможно, они просто не выведены в пункты панели параметров проекта в IDE, но тогда можно подобный ключик добавить руками.
      Конкретно VS, и не только она, распознаёт язык по расширению. Если оно .c, то компилирует в режиме C, если .cpp, то C++. Форсить "компилировать как" нужно только для нестандартных для среды расширений. Например, GNUсное .cc студией как C++ может не распознаться.
        Цитата Qraizer @
        Конкретно VS, и не только она, распознаёт язык по расширению. Если оно .c, то компилирует в режиме C, если .cpp, то C++.

        хорошо! но фишка в том, что при создании нового ПРОЕКТА нет возможности выбрать расширение кроме срр, т к оно задается автоматом. Так больше того, если создать ПУСТОЙ проект и попытаться добавить через контекстное меню исходник, ТАМ НЕТ ВЫБОРА на расширение *.c ....капец конечно)

        Т е создать средствами ИДЕ VS расширение *.с вообще вроде нельзя, а может можно, просто я не увидел такую возможность)

        И чего тогда? Ручками править расширение?? ну, согласись, как-то не комильфо в 2019г. и в такой мощнейшей ИДЕ...

        Цитата Qraizer @
        Форсить "компилировать как" нужно только для нестандартных для среды расширений.

        а я всегда опцию ставил, когда нужно было получить компиляцию на С, при этом расширение исходника было *.срр. И все работало)

        Но в любом случае, почему в VS нет возможности понять, какой стандарт СИ используется...Как-то все странно на мой взгляд. VS - лучшее средство разработки программ на любой лад, а при этом с СИ какие-то непонятки...либо я нуб и совсем не знаю настроек опций проекта (а их там какое-то лютейшее кол-во, конечно)

        Qraizer, спс. за ответ. Хотелось бы, чтобы писал больше информации на такие вопросы, т к такого знатока С/С++ всегда с удовольствием почитаю, хоть 25К знаков)

        Добавлено
        <addition>
        файл с расширением *.h добавить можно в проект, а вот *.с нету...либо все-таки как-то добавляется, но явно неинтуитивно и не через контекстное меню...
          Цитата FasterHarder @
          файл с расширением *.h добавить можно в проект, а вот *.с нету...либо все-таки как-то добавляется, но явно неинтуитивно и не через контекстное меню...


          Просто пишешь имя с расширением и всё. Add->New Item->C++ File, Name: test.c
            Цитата FasterHarder @
            файл с расширением *.h добавить можно в проект, а вот *.с нету...либо все-таки как-то добавляется, но явно неинтуитивно и не через контекстное меню...

            Просто "добавить существующий элемент":
            user posted image
            ---
            А вообще - зачем это ?
            Предположим, ты решил писать на ANSI-C.
            С большой вероятностью с любым C++ компилятором
            не будет никаких проблем, только бонусы.
            Пиши исходники хоть *.cpp файлах.
            Сообщение отредактировано: ЫукпШ -
              Цитата ЫукпШ @
              Просто "добавить существующий элемент":

              я понимаю, да), что, если добавлять СУЩЕСТВУЮЩИЙ, то там есть расширение *.с, но ведь я хочу написать С НУЛЯ, т е у меня еще НЕТ этого исходника))

              Цитата ЫукпШ @
              Предположим, ты решил писать на ANSI-C.
              С большой вероятностью с любым C++ компилятором
              не будет никаких проблем, только бонусы.


              да, я понимаю, что С++ надстройка над СИ и весь код сишный плюсы переваривают, НО(!!), где контроль ошибок стандарта. Т е пишу код, который должен быть заточен под АНСИ-СИ, а компиллер С++, в итоге тонкости стандарта игнорируются + я их пропустил в коде. Т е написал прожку НА СИ С ОШИБКАМИ "сишными", компиллер все съел, типа гуд. Но код в итоге не соот-ет стандарту...

              Слушайте, существует ли ИДЕ ЗАТОЧЕННАЯ исключительно под СИ, где при создании проекта ЕСТЬ ОПЦИЯ выбора стандарта?? наверное, нет, т к нецелесообразно...ну и плохо на самом деле) !
                Цитата FasterHarder @
                да, я понимаю, что С++ надстройка над СИ и весь код сишный плюсы переваривают, НО(!!), где контроль ошибок стандарта. Т е пишу код, который должен быть заточен под АНСИ-СИ, а компиллер С++, в итоге тонкости стандарта игнорируются + я их пропустил в коде.
                Вы понимате неправильно. Далеко не все конструкции "голого" Си законны в плюсах (например, инициализация структур через { .имя = значение, } или определение глобальной переменной в нескольких единицах компиляции и даже с разным типом). А вот контроль типов в плюсах, напротив, гораздо строже, чем в "голых" сях (например, нет неявного преобразования из void * в указатель на любой тип).
                  Цитата FasterHarder @
                  Слушайте, существует ли ИДЕ ЗАТОЧЕННАЯ исключительно под СИ

                  user posted image

                  Посмотри вот этот проект. Очень занятная штука.
                  С++ заморочки там точно не прокатят. Однако там есть свои местячковые расширения ANSI C, вот на них можно "нарваться".
                    Цитата FasterHarder @
                    Слушайте, существует ли ИДЕ ЗАТОЧЕННАЯ исключительно под СИ, где при создании проекта ЕСТЬ ОПЦИЯ выбора стандарта?? наверное, нет, т к нецелесообразно...ну и плохо на самом деле) !

                    Вообще, выбор стандарта это опция компилятора, а не ИДЕ. В Visual studio можно создать makefile-project и компилировать в gcc/mingw. Там вроде можно выбрать стандарт Си - std=c99 or -std=iso9899:1999.
                      Цитата FasterHarder @
                      Т е пишу код, который должен быть заточен под АНСИ-СИ, а компиллер С++, в итоге тонкости стандарта игнорируются + я их пропустил в коде.

                      В наборе gcc просто есть С-компилятор.
                      Можно прямо использовать его, и он сам подскажет ошибки.
                      Но если не секрет - а зачем ?
                      В проектах для WIN/Linux использование именно компилятора С
                      практически не имеет смысла. (или очень редко имеется какая-то необходимость)
                      При этом С может быть источником неприятных последствий.
                      ---
                      У этого инструмента другая ниша - программирование микроконтроллеров.
                      Той не малой группы, у которой достаточно ресурсов, чтобы отказаться
                      от ассемблера, но не достаточно ресурсов, чтобы использовать
                      преимущества С++. Но там проекты маленькие и использование С
                      оканчивается безнаказанно.
                        Цитата ЫукпШ @
                        Но если не секрет - а зачем ?

                        хочется, чтобы программа соот-ла стандарту ОТ и ДО

                        Короче, вот к каким выводу я пришел:
                        Я вот ни хрена не понимаю. Есть ОФИЦИАЛЬНЫЕ ДОКУМЕНТЫ, опубликованные ISO/ANSI и им подобным по 700+ страниц, где идет описание стандарта. Причем вроде на каждую версию, ANSI, C99, ... Почему разработчики ПО (допустим, великие MS) не могут написать компиллеры, которые СТРОГО соот-уют этим стандратм, до копеечки. Андреас Хелсберг (или кто там у них гл.сейчас) дал бы команду группе разработчиков создать нужные компилеры под все стандарты СИ. Ресурсов человечьих, как и финансовых у них по самые уши...
                        После этого все эти компилеры включили бы в Visual Studio. Добавили бы тип проекта "Pure C" и при начальных опциях в обязательном порядке шел бы выбор СТАНДАРТА! И компиллер бы подгружался нужный. И ВСЕ! НЕТ ПРОБЛЕМ ВООБЩЕ!

                        На данный момент декларируют, что типа НЕ СУЩЕСТВУЕТ ни одного комплиятора, который бы строго соот-вал стандарту С99. Тогда какого хрена вы создавали этот стандарт, так, для галочки. Профессинальным программистам (не чита мне, нубу) из MS не должно было составить большого труда эта вся работа...

                        Навели массу путаницы, VS вообще не поддерживает изначального такого типа проекта...

                        Ведать нецелесообразно всем этим заморачиваться. Не знаю.
                        Но меня особенно задел момент, когда везде написано. Нет ни одного компилятора, который соот-ет С99. ЧТО ЗА ЧУШь!
                        Есть стандарт языка - будьте добры предоставьте компиллер, заточенный под него иначе, зачем все это...

                        P.S. при переносе проектов, написанных на 1-ом стандарте, на др.стандарт - конвертер автоматический какой-нибудь)
                        Сообщение отредактировано: FasterHarder -
                          Цитата FasterHarder @
                          Почему разработчики ПО (допустим, великие MS) не могут написать компиллеры, которые СТРОГО соот-уют этим стандратм [...] После этого все эти компилеры включили бы в Visual Studio. Добавили бы тип проекта "Pure C" и при начальных опциях в обязательном порядке шел бы выбор СТАНДАРТА!
                          Вы наивны как младенец. Кто же тогда денюжку в техподдержку микрософта понесет, если этот исходник можно будет скомпилиь каким-нибудь GCCом или clangом и получить работающую точно так же программу?
                          GCC как раз строго соответствует, и выбрать стандарт можно - все, как вы хотите. Но вы уже подсели на иглу микрософта, что и требовалось. Еще немного и вы понесете им денюжку на тарелочке с голубой каемочкой. :lol:
                            FasterHarder, MS коммерческая компания. Она будет вкладываться в инструменты, которые востребованы на рынке. Думаю, ответ на твой вопрос понятен без озвучивания: нафик никому из программистов не упёрся чистый и полный c99-компилер.

                            Добавлено
                            Цитата Dushevny @
                            GCC как раз строго соответствует
                            Не полностью.
                              Цитата Qraizer @
                              FasterHarder, MS коммерческая компания. Она будет вкладываться в инструменты, которые востребованы на рынке

                              окэй, окэй!

                              Давай посмотрим рейтинг популярности языков! Я не знаю источника, публикующего самые достоверные данные в этой области. Если знаешь, то дай линк.
                              Но нашел такую инфу, что в 2016 году по индексу TIOBE язык ЧИСТЫЙ СИ держит позицию №2 (~ 13%), выше только Java (~21%). 3-е место у твоих любимых плюсов (~7%).

                              И ты мне твердишь про востребованность...

                              Кстати, мне НЕ ЗАПАДЛО было бы купить что-то у MS, т к их продукты я ЛЮТО уважаю и всегда УВАЖАЛ...Хотя, да, пока все пиратское.
                                P.S.
                                Цитата Dushevny @
                                Кто же тогда денюжку в техподдержку микрософта понесет ... Еще немного и вы понесете им денюжку на тарелочке с голубой каемочкой.
                                И бы предостерёг от дальнейшего развешивания ярлыков. Твоя позиция субъективна. Тем более, что если учесть, что GNU не полностью поддерживает WinAPI и вряд ли когда-нибудь будет, то вернуть ярлык "иглы" будет более чем к месту. WinAPI предоставляет более надёжные средства отказоустойчивости, каковых по надёжности POSIX не имеет в принципе. И саппорт у MS бесплатный, ты каким-то странным образом спутал его с саппортом FSC.

                                Добавлено
                                FasterHarder, ты смотри не в языки, а в версии их стандартов. Счас даже микроконтроллеры програмят на Плюсах, на кой крен им C99? Вот и не выпускают. C99 не только MS засаботировала, большинство поставщиков средств разработки решили, что им это невыгодно, он тупо не найдут рынка сбыта. Что делать, капитализьм, мать его...
                                Цитата FasterHarder @
                                Кстати, мне НЕ ЗАПАДЛО было бы купить что-то у MS, т к их продукты я ЛЮТО уважаю и всегда УВАЖАЛ...Хотя, да, пока все пиратское.
                                Visual Studio 2017 Community бесплатен не только для личного использования, но и для некрупных организаций. И даже для крупных, но не более чем на пяти машинах. Это если с последнего раза ничего в лицензии не менялось.
                                  Не могу найти рейтинг востребованности ЯП, например, за 2000г., но смею предположить, что СИ просто царствовал во всем мире в этот период)) и еще несколько лет царствовал после этого)) наверное...

                                  да и сейчас он вроде как "жыф"

                                  Добавлено
                                  Цитата Qraizer @
                                  Visual Studio 2017 Community бесплатен не только для личного использования, но и для некрупных организаций. И даже для крупных, но не более чем на пяти машинах. Это если с последнего раза ничего в лицензии не менялось.

                                  Майкрософцы вообще красавцы были всегда)
                                  От функционала (даже пиратского)MS Office можно перманенто ловить оргазм) и как же тянет блевать после использования open office какого-нибудь...

                                  Добавлено
                                  Цитата Qraizer @
                                  FasterHarder, ты смотри не в языки, а в версии их стандартов.

                                  я не готов под микроскопом изучать под 1000 стр. стандарта 8-)

                                  Цитата Qraizer @
                                  на кой крен им C99?

                                  не знаю, мне лично тоже НИ РАЗУ в жизни не пригодился ;)
                                    Цитата FasterHarder @
                                    я не готов под микроскопом изучать под 1000 стр. стандарта
                                    Та не, я о востребованности версий. Рынок – он такой, программеры по факту сами же и голосуют, что им поставлять: какие языки и каких версий стандартов. Если у C высокий рейтинг, это ещё не значит, что всем поголовно нужен последний его Стандарт.
                                      В общем, еще ведь в 1-м посте написал, что это поставщикам компилеров НЕЦЕЛЕСООБРАЗНО.
                                      Т е нет задач, требующих жесткой привязки, например к С99. Никто заморачиваться и не хочет. А ВЕДЬ МОГЛИ БЫ (MS), с их то возможностями...Было бы красиво, удобно и ...убыточно (наверное)...
                                        Цитата FasterHarder @
                                        Цитата ЫукпШ @
                                        Но если не секрет - а зачем ?

                                        хочется, чтобы программа соот-ла стандарту ОТ и ДО

                                        Когда я спросил "зачем" меня интересовала практическая необходимость.
                                        я подозреваю, что все диалекты С после ANSI мало востребованы.
                                        Поскольку создан С++, а это бОльшая производительность труда
                                        и качество результата. Ниша обычного С (как я уже сказал) - это микроконтроллеры.
                                        Но из-за специфики использования диалекы С для микроконтроллеров имеет свои особенности.
                                        Чуть-ли ни для каждого микроконтроллера индивидуально.
                                        Поэтому отличия от стандартов есть.
                                        Скрытый текст

                                        Например, у микроконтроллеров 8051 имеют внутреннюю архитектуру с разными
                                        объектами памяти. В том числе имеется по-битно доступная память.
                                        Минимально доступная единица данных - бит.
                                        А раз имеется, она должна описываться на языке прогламмирования
                                        и к ней должен быть получен доступ.
                                        Если имеется разные объекты памяти, то для работы с каждой
                                        из них надо правильно описать переменные. И указатели. Итд итп.

                                        ---
                                        Но главное - этот вопрос про стандарты просто никого не интересует.
                                        Сообщение отредактировано: ЫукпШ -
                                          ЫукпШ, мне чисто любопытно: почему для программинга микроконтроллеров требуются ДИАЛЕКТЫ СИ? Разве там всякие организации НЕ ПРИНУЖДАЮТ законодательно производить микроК, подчиняющихся стандарту??

                                          Пример: есть фирма "Супер МИКРО". Она планирует производить контроллеры. Патентует там изобретение и ей выдают сертификат, мол можете производить, но только при условии, что программировать будете их на стандартном СИ (еще стандарт указывают, подкидывают решку и выпал, например, С89, значит такой, выпал С90, значит такой)!

                                          Добавлено
                                          кстати, к слову о диалектах!
                                          вот тоже, какая-то чешуя...

                                          Есть две крутых организации по стандартизации: ANSI, ISO (вроде так называются, но не факт, не помню на 100%, но не суть). Там ученые сидят, годами стандарты продумывают, подключают экспертов из этих областей, в общем трудятся не покладая мозгов)
                                          В итоге стандарт утвержден - его публикуют (не всегда бесплатно). ВСЕ! ОРИЕНТИР ЗАДАН!
                                          Все желающие, готовые разрабатывать компилеры, должны НЕУКОСНИТЕЛЬНО придерживаться их. НЕУКОСНИТЕЛЬНО!
                                          Сделали компилер, есть хоть 0.0001% отхождения от стандарта - ВОН С РЫНКА! ИДИ переделывай под стандарт на 100%. А то ребята из АНСИ потели, старались, ночами не спали и для ради чего спрашивается)

                                          ПРОБЛЕМ БЫ НЕ БЫЛО! Есть стандарт: либо ты ему следуешь, либо идешь в эрот.путешествие...И НИКАКИХ поблажек, никому)
                                            Ну как бы дело в том, что в задачи ISO не входит аудит соответствий реализаций опубликованным Стандартам. Во-первых, это накладно по ресурсам, во-вторых, этого и не требуется, голосование за качество реализаций осуществляют потребители. Если некие характеристики некой реализации потребителей не устраивают, они просто выберут другую реализацию. В-третьих, это было бы просто непродуктивно. Если некие отступления от Стандарта оправданы для потребителей, пусть пользуют как есть, а для ISO это сигнал о недоработке, ибо теория теорией, но практика важнее.
                                              Цитата Qraizer @
                                              Ну как бы дело в том, что в задачи ISO не входит аудит соответствий реализаций опубликованным Стандартам. Во-первых, это накладно по ресурсам, во-вторых, этого и не требуется, голосование за качество реализаций осуществляют потребители. Если некие характеристики некой реализации потребителей не устраивают, они просто выберут другую реализацию. В-третьих, это было бы просто непродуктивно. Если некие отступления от Стандарта оправданы для потребителей, пусть пользуют как есть, а для ISO это сигнал о недоработке, ибо теория теорией, но практика важнее.

                                              я полностью логически с тобой в этом согласен, НО(!), прежде чем утвердить стандарт он проходит уйму тестов и апробаций. Его продумывают тщательнейшим образом ведь. ну должны, как я понимаю) Приглашают мировых экспертов языка (вроде Страуструп в какой-то организации состоит, а он плохо не посоветует в этой области) ))
                                              Т е перед публикацией Стандарт является совершенным продуктом), ни одного изъяна.

                                              Ведать, на практике не все удается продумать в этих стандартах.
                                              Ну, тогда, да, теперь понятно стало, почему столько модификаций языка потом появляется. Типа в этих языках есть нововведения, которые УЛУЧШАЮТ стандарт ---> разработку...Кстати об этом я раньше не задумывался)
                                                Цитата ЫукпШ @
                                                Поэтому отличия от стандартов есть.
                                                Та любая реализация их имеет. Более того, Стандарт не запрещает реализациям их иметь. Но есть одно но, которое любая реализация должна соблюсти: она не должна противоречить чётко определённым в Стандарте чертам поведения. Вот там, где Стандарт пишет implementation defined behavior или просто не описывает, там пусть куда хотят, туда и расширяют. Захотели битовые переменные, на здоровье, ввели новый синтаксис для размещения объектов по абсолютным адресам в их определениях, та за ради бога. Решили при знаковом целочисленном переполнении trap-ать по вектору #1D, имеют право. Вот trap-ать по беззнаковому переполнению ни-ни, для них в Стандарте чётко оговаривается арифметика остатков по модулю 2N, где N суть количество бит в репрезентации типа.
                                                  Цитата FasterHarder @
                                                  ПРОБЛЕМ БЫ НЕ БЫЛО! Есть стандарт: либо ты ему следуешь, либо идешь в эрот.путешествие...И НИКАКИХ поблажек, никому)

                                                  А в чём заключаются эти проблемы ? Их просто нет.
                                                  Есть конкретная документация на конкретный прибор.
                                                  Есть документация на компилятор и ликер. И остальной софт.
                                                  Не хочешь - не используй, проект-то коммерческий.
                                                  Но получается, что используют, плскольку хотят и вообще выгодно.
                                                  Большинство с тобой не согласно.
                                                  ---
                                                  я же говорю - абсолютно точное соответствие стандартам
                                                  никого вообще не интересует. Тем более мёртвых диалектов.
                                                  Интересует качество и производительность труда.
                                                  А стандарт, какой-то там - бумажка, которую ещё не известно кто придумал.
                                                  Может идиот какой-нибудь.
                                                    К слову, Комитет по стандартизации даже предусматривает правила, по которым реализации могут расширять Стандарт так, чтобы не столкнуться с коллизиями в будущих версиях Стандарта. Если реализация их будет соблюдать, то никакие новые версии не вызовут конфликтов имён в старых проектах пользователей.

                                                    Добавлено
                                                    Ну и пользователи тоже должны соблюдать подобные правила, но только стандартизированные специально для них. Так они избегут любых коллизий в своих старых проектах с любыми новыми Стандартами, новыми реализациями и даже при портировании на другие реализации.
                                                      Цитата ЫукпШ @
                                                      Большинство с тобой не согласно.

                                                      так я ни с кем и не спорю ;) я еще не окончательно сошел с ума, чтобы спорить с зубрами С/С++ )
                                                      просто мне изначально не понравилось, что:
                                                      1. в VS нет создания проекта на Pure C
                                                      2. непонятно, какой стандарт использует компиллер

                                                      Цитата Qraizer @
                                                      Вот там, где Стандарт пишет implementation defined behavior или просто не описывает, там пусть куда хотят, туда и расширяют

                                                      вот это круто!

                                                      Qraizer, ЫукпШ, JoeUser, спс. за науку!
                                                        Qraizer, а со стандартами языка С++ все также, как в СИ?
                                                          Что именно? С реализацией? Та не, нормально. Некоторые быстрее, некоторые медленнее, но-таки реализуют нововведения. Иногда даже быстрее, чем они ратифицируются. Обычно размещают временно в каком-нибудь выделенном namespace. Заодно это помогает обкатать новинку в экспериментальных проектах и вовремя внести правки в драфт новой ревизии Стандарта.
                                                          Если про совместимость, то да, так же. С совместимостью с будущими ревизиями, правда, не всё так гладко, Комитету приходится, хоть он и идёт на это крайне неохотно, вводить ключевые слова, потенциально могущие затронуть легаси-код. К сожалению, ключевые слова всё-таки являются слишком важной базой, поэтому в этом случае соблюдение правил совместимости слишком негативно отразится на новом коде, а ведь именно ради него Стандарт-то и пополняется фичами. Однако каждый раз Комитет изучает статистику и выбирает слова, наименее часто использованные в легаси. К примеру, было введёно неуклюжее decltype вместо typeof, по грамматическому смыслу гораздо более подходящего. А с новыми именами в стандартной библиотеке всё путём, там правила совместимости заранее оговорены так, что совместимость соблюсти несложно.
                                                          Сообщение отредактировано: Qraizer -
                                                            Qraizer, ;)

                                                            Цитата Qraizer @
                                                            decltype вместо typeo

                                                            интересно, впервые слышу об этом...
                                                              Полностью согласен с Qraizer
                                                                А где стоят стандарты?
                                                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                0 пользователей:


                                                                Рейтинг@Mail.ru
                                                                [ Script execution time: 0,0710 ]   [ 17 queries used ]   [ Generated: 28.03.24, 20:56 GMT ]