зачем майкрософт изменила синтаксис таких инклудов как iostream

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by selevit, 20 Sep 2009.

  1. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    я вот не пойму, зачем майкрософт изменила синтаксис таких инклудов как iostream ( без h ) и т п, в VS2008 - какая в щоку разница iostream.h или просто iostream, из за этого начинающие в программировании люди читают документацию по c++ 2005, которой намного больше в данный момент а потом пишут темы на разных форумах, почему нет файла в директории при компиляции, и я, кстати был в их числе.

    ЗЫ: Уважаемые модераторы, это не флуд, просто мне очень интересно знать ЗАЧЕМ??
     
  2. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    кстати таких изменений в синтаксисе довольно много, причем они никак не повышают уровень возможностей языка.
     
  3. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    может бональное уменьшение кода?
     
  4. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    ну тогда почему не убрали .h во всех инклудах, - не вариант.
     
  5. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    у кого еще какие соображения?
     
  6. t4Nk

    t4Nk Elder - Старейшина

    Joined:
    23 Sep 2007
    Messages:
    70
    Likes Received:
    33
    Reputations:
    0
    Это не прихоти майкрософта, а требование стандарта C++.
    Хоть iostream.h и поддерживается, он является deprecated (не рекомендованным). Его нежелательно использовать, т.к. в след. версиях standart c++ library его может и не быть.
    Тем более они предоставляют немного разный функционал.
    Например в <iostream.h> находятся классы для работы только с обычным char, в то время как <iostream> поддреживает в добавок и wchar. Все классы из <iostream.h> находятся в глобальном пространстве имен, а в <iostream> - в std
     
    1 person likes this.
  7. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    просто это очень гибкая система. можешь и без .h писать инклуд.

    и в самом инклуде - реализацию разного рода функций, а потом в главном цпп файле после #include <windows.h> перечислить инклуды с реализацией своих функций (при том в них самих не будет необходимости делать системные инклуды.) тк сверху них инклуд виндовс.н уже определен.

    а почему так описывается - потому что есть правила программирования, какбы стандартизация, чтоб ты понимал механизм работы. да и вообще когда например командой работать. если сам - то извращаться можно абсолютно как угодно и как удобно)
     
    1 person likes this.