Программирование C++ |
Здравствуйте, гость ( Вход | Регистрация )
Программирование C++ |
Гость_Mike_* |
Sep 20 2007, 18:33
Сообщение
#1
|
Guests |
Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему
|
|
|
Mar 29 2008, 23:10
Сообщение
#21
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
Скажите, пожалуйста, какой хидер в С++ включает в себя функцию explode - функцию разбиения строки с определенным разделителем на элементы массива. Из стандартных - никакой. -------------------- |
|
|
Гость_Partizan_* |
Apr 11 2008, 18:50
Сообщение
#22
|
Guests |
strtok имеет аналогичный функционал...
|
|
|
May 27 2008, 21:17
Сообщение
#23
|
|
Новичок Группа: Posters Сообщений: 43 Регистрация: 27.7.2006 Пользователь №: 1,076 |
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал Visal basic, Delphi. Ща С++. И поражаюсь ёлки палки, красота и лаконичность С, против бейсика и паскаля с их не нужными "упрощеными" конструкциями, которые авторы выдают за "обучающие языки". Кошмар кому они вобще нужны? С++ мало того что проще, он ещё и общепринят и кросплатформенен. Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками. По моему это всё рекламная кампания от микрософта просто, что Визиал бейсик проще, и делфи туда ж.
Обьявление переменых: VB : dim A as integer Delphi : var A: integer; С++ : int A; Да циклы и ветвления в с++, в начале могут показаться сложнее. В любом случае лаконичнее и красивее, и это видно сразу. Вобщем если изучать программирование не чтобы написать 1 калькулятор, я бы выбрал только С++. Правда с литературой да напряги. Не встрачал нормальных. Бывают что реально сложно написаны, даються сразу все тонкости попробуй разберись, а на обложке написано для новичков. Изучал(/ю) по серии для чайников, в принципе, изучить можно. Но думать нада многа, не так то просто написано. Хотя язык простой. Таких вот книг, чтобы полному нулю в программировании, легко изучить С++ не встречал. Хотя это вполне реально, просто нету норм. литературы (по крайне мере не встречал). ). Всё равно даже чтобы написать с виду простую игру, гораздо лучше С++. Вобщем не нада поддаваться что VB проще и т.п. Сегодня нужен калькулятор, завтра программа бухучёта, или игра какая-нть. По своей сути С++ проще чем VB, просто изучить его на ~40% сложнее. Сообщение отредактировал dect - May 27 2008, 22:03 |
|
|
May 28 2008, 09:19
Сообщение
#24
|
|
Продвинутый пользователь Группа: Posters Сообщений: 229 Регистрация: 31.8.2007 Пользователь №: 8,988 |
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал Visal basic, Delphi. Ща С++. И поражаюсь ёлки палки, красота и лаконичность С, против бейсика и паскаля с их не нужными "упрощеными" конструкциями, которые авторы выдают за "обучающие языки". Кошмар кому они вобще нужны? С++ мало того что проще, он ещё и общепринят и кросплатформенен. Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками. По моему это всё рекламная кампания от микрософта просто, что Визиал бейсик проще, и делфи туда ж. Обьявление переменых: VB : dim A as integer Delphi : var A: integer; С++ : int A; Да циклы и ветвления в с++, в начале могут показаться сложнее. В любом случае лаконичнее и красивее, и это видно сразу. Вобщем если изучать программирование не чтобы написать 1 калькулятор, я бы выбрал только С++. Правда с литературой да напряги. Не встрачал нормальных. Бывают что реально сложно написаны, даються сразу все тонкости попробуй разберись, а на обложке написано для новичков. Изучал(/ю) по серии для чайников, в принципе, изучить можно. Но думать нада многа, не так то просто написано. Хотя язык простой. Таких вот книг, чтобы полному нулю в программировании, легко изучить С++ не встречал. Хотя это вполне реально, просто нету норм. литературы (по крайне мере не встречал). ). Всё равно даже чтобы написать с виду простую игру, гораздо лучше С++. Вобщем не нада поддаваться что VB проще и т.п. Сегодня нужен калькулятор, завтра программа бухучёта, или игра какая-нть. По своей сути С++ проще чем VB, просто изучить его на ~40% сложнее. +1 В с++ иммет смысл регистр букв что сбособствует порядку в коде, если будут пляшущие буквы как можно в дельфях делять, то будет бардак. С++ учит порядку скажем так. Да и под UNIX и WINDOWS похожи они(одно и тоже точнее). Хотя немного ранее мне казалось подругому. Почитать надо просто на досуге книженуцию полтора часа и что нибудь понять. Сообщение отредактировал el- - May 28 2008, 09:22 -------------------- |
|
|
Jul 24 2008, 16:38
Сообщение
#25
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
strtok имеет аналогичный функционал... Также наткнулся на аналогичный костыль в виде boost::algorithm::splitВобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками. Ты просто видел ограниченное множество "других языков" и не видел всего кошмара C++ в лице его величества "нагромождения шаблонов и макросов".
Сообщение отредактировал Amp - Jul 24 2008, 16:35 -------------------- |
|
|
Jul 25 2008, 14:19
Сообщение
#26
|
|
SALT LAKE 2002 Группа: Posters Сообщений: 2,129 Регистрация: 2.1.2007 Из: г. Цивильск. Пользователь №: 4,562 |
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал Visal basic, Delphi. Ща С++. И поражаюсь ёлки палки, красота и лаконичность С, против бейсика и паскаля с их не нужными "упрощеными" конструкциями, которые авторы выдают за "обучающие языки". Кошмар кому они вобще нужны? С++ мало того что проще, он ещё и общепринят и кросплатформенен. Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками. По моему это всё рекламная кампания от микрософта просто, что Визиал бейсик проще, и делфи туда ж. Обьявление переменых: VB : dim A as integer Delphi : var A: integer; С++ : int A; Мой опыт программирования на С++ не такой большой, и мне трудновато пришлось при переходе на него с Паскаля. Именно синтаксис не понравился. Вроде кратко, код программы небольшой. Но запоминать лексемы этого языка сложнее, чем в Pascal. Со временем привыкаешь, но не думаю, что изучение ЯВУ стоит начинать именно с С++. Возможно, с JS. -------------------- Побеждает тот, кто знает правила игры.
|
|
|
Гость_Ireul_* |
Aug 13 2008, 17:22
Сообщение
#27
|
Guests |
C++ - язык опытного профессионала, его ни в коем случае нельзя путать с С - это, вопреки многим утверждениям, очень разные языки, и, заметьте, малосовместимые(хотя это могут и не понять те, кому не приходилось адаптировать код под С++ из С, чтобы работал, а не просто компилился и падал).
Почему язык опытного профессионала - хотя бы потому, что кроме нагромождения шаблонов и макросов, у него есть недостаток, который убьёт любого новичка, и дважды убьёт любого любителя паскаля - его сообщения об ошибках совершенно невменяемы, могут вылезать где угодно - в точке где вы впервые использовали ошибочно декларированный код, несмотря на абсолютно правильное использование, когда реальная ошибка в декларации. Когда же вы неправильно использовали - ошибка может вылезти в декларации, причём нередко в собственных библиотечных хидерах. При неправильном использовании шаблонных классов STL вы можете получить сообщение об ошибке на 18 строк, загромождённое шаблонами чуть более чем полностью, и совершенно ничего не проясняющее. Причём ошибка укажет не на ту точку, где вы реально допустили ошибку. Это - настоящее лицо С++, позволяющее избегать частого повторения стереотипных и смертельных ошибок, характерных для С, но изобретающее вместо этого сверххитроумные шарады "попробуй найди где ты угловую скобку забыл, а то не откомпилюсь". И он даже не попытается вам сказать, что две подряд угловые скобки понял как оператор сдвига, а не две закрывающих шаблоны отдельных угловые скобки. А доложит о скобках. Причём в точке применения ошибку покажет, а не в точке декларации. Вот такой вот он... Поэтому он требует тщательного изучения перед применением, иначе служит хорошим орудием самоубийства. И оно стоит того - за счёт несравнимого объёма возможностей. Если этому языку не хватает какой-либо умной концепции - её можно реализовать самими средствами языка - так в С++ имеются и лямбды, и функциональное программирование, и ооп, и процедурность тоже никуда не делась - и никто не мешает применять всё это вместе, сохраняя эффективность. |
|
|
Aug 14 2008, 00:59
Сообщение
#28
|
|
Супер постер Группа: Posters Сообщений: 657 Регистрация: 27.7.2006 Пользователь №: 1,079 |
где-то я слышал - типа си плюс плюс - это как бы язык высокого уровня, который создавался чтоб заменить ассемблер... то есть - хотя он ЯВУ, но реализован в большей части на более близком к реальному вычислительному процессу уровне - поэтому он и быстрый - и системный так сказать. Но и в то же время, си - это не ассемблер, а высокоуровневый язык программирования. То есть - программисту он позволяет лучше почувствовать сам реальный процесс, происходящий в системе, и получить над ним контроль, но при это он сам должен понимать, что он делает.
Хотя сам я пока с си плюс плюсом, честно говоря, толком ещё не знаком... -------------------- И мы могли бы вести войну
Против тех, кто против нас, Так как те, кто против тех, кто против нас, Не справляются с ними без нас. |
|
|
Гость_Ireul_* |
Aug 14 2008, 12:33
Сообщение
#29
|
Guests |
где-то я слышал - типа си плюс плюс - это как бы язык высокого уровня, который создавался чтоб заменить ассемблер... то есть - хотя он ЯВУ, но реализован в большей части на более близком к реальному вычислительному процессу уровне - поэтому он и быстрый - и системный так сказать. Но и в то же время, си - это не ассемблер, а высокоуровневый язык программирования. То есть - программисту он позволяет лучше почувствовать сам реальный процесс, происходящий в системе, и получить над ним контроль, но при это он сам должен понимать, что он делает. Хотя сам я пока с си плюс плюсом, честно говоря, толком ещё не знаком... Ты очень сильно путаешь С++ и С. Как я говорю в пицотыщный раз - это разные и малосовместимые языки. Ты говоришь о С, и понятия не имеешь о С++, и основной целью его разработки было желание г-на Томпсона не переписывать весь набор утилит для каждой новой версии Unix на асме - и он придумал изолированный набор системных вызовов, позволявший программам интегрироватся в систему через изменяемый интерфейс, и язык, который можно откомпилить в любую версию ассемблера в случае изменений в железе, не меняя программу. Поэтому он изначально разрабатывался как быстрый и системный - требование времени, и в то же время изолированный от системы и ассемблера. |
|
|
Aug 14 2008, 16:33
Сообщение
#30
|
|
Супер постер Группа: Posters Сообщений: 657 Регистрация: 27.7.2006 Пользователь №: 1,079 |
Ты очень сильно путаешь С++ и С. Как я говорю в пицотыщный раз - это разные и малосовместимые языки. Ты говоришь о С, и понятия не имеешь о С++, и основной целью его разработки было желание г-на Томпсона не переписывать весь набор утилит для каждой новой версии Unix на асме - и он придумал изолированный набор системных вызовов, позволявший программам интегрироватся в систему через изменяемый интерфейс, и язык, который можно откомпилить в любую версию ассемблера в случае изменений в железе, не меняя программу. Поэтому он изначально разрабатывался как быстрый и системный - требование времени, и в то же время изолированный от системы и ассемблера. панятно... панятно))) Текст любой программки компилится для каждой системы просто компилятором, подогнанным под неё. -------------------- И мы могли бы вести войну
Против тех, кто против нас, Так как те, кто против тех, кто против нас, Не справляются с ними без нас. |
|
|
Гость_Ireul_* |
Aug 14 2008, 16:58
Сообщение
#31
|
Guests |
панятно... панятно))) Текст любой программки компилится для каждой системы просто компилятором, подогнанным под неё. Не совсем... и даже совсем не... http://pauk-net.ru/ipb/index.php?s=&sh...st&p=404915 |
|
|
Aug 16 2008, 23:25
Сообщение
#32
|
|
Супер постер Группа: Posters Сообщений: 657 Регистрация: 27.7.2006 Пользователь №: 1,079 |
Не совсем... и даже совсем не... http://pauk-net.ru/ipb/index.php?s=&sh...st&p=404915 пасибо, шо ещё раз ткнули пальцем в нос А то до нас в реали всё доходит очень медленно... А системные вызовы у каждой системы разве не свои? То есть под каждую систему усё равно надо исходники в некторых случаях, где они используются, править... этот самый OS SDK для каждой системы ведь свой. И линкер для каждой системы свой нужен... а чем си от си плюс плюс принципиально отличается? Вроде как тем, шо там единая какая-то платформа есть - как вы и сказали, шо кто-то там для того, шоб легче с одной на другую систему проги переводить, придумал это. ЗЫ - проходил мимо одного книжного магаза... и там книга какого-то Герберта Шилдта "C++ Базовый курс" стоит 600 рубликов... мдЪя... не знай - книжка может и неплохая... но дорого чёт. И задачники всякие тож рублей 200 где-т стоят... зажираются гады. Тута чёт... Эта вот книга стояла где-т рублей 400... тут ещё вроде чёт есть... Сообщение отредактировал RedSIL - Aug 16 2008, 23:39 -------------------- И мы могли бы вести войну
Против тех, кто против нас, Так как те, кто против тех, кто против нас, Не справляются с ними без нас. |
|
|
Aug 17 2008, 18:00
Сообщение
#33
|
|
Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
А системные вызовы у каждой системы разве не свои? То есть под каждую систему усё равно надо исходники в некторых случаях, где они используются, править... этот самый OS SDK для каждой системы ведь свой. И линкер для каждой системы свой нужен... а чем си от си плюс плюс принципиально отличается? Вроде как тем, шо там единая какая-то платформа есть - как вы и сказали, шо кто-то там для того, шоб легче с одной на другую систему проги переводить, придумал это. Есть стандартная библиотека stdlib (http://en.wikipedia.org/wiki/Stdlib.h), которая содержит ряд важных функций, входящих в стандарт языка. Например fread, fwrite, fopen и прочие, являясь частью стандартной библиотеки, на деле представляют собой обертку вокруг системных вызовов. Меня, как программиста, то, как они реализованы, в идеале не волнует. Я знаю, что это должно быть по стандарту. И баста >.< Таким образом приходим к тому, что хеллоу ворлды будут собираться на большинстве распространенных ОС при наличии нормального компилятора. Если появляется желание начать дергать специфические системные вызовы, которые образуют API ОС (например WinAPI), то тут уже ничего не поделаешь (в частности это применимо к Windows и прочим ОС, которые POSIX-несовместимые). По поводу различных API и системных вызовов рекомендуется к прочтению это http://ru.wikipedia.org/wiki/Интерфейс_про...ания_приложений Есть библиотеки, которые позволяют писать кроссплатформенные программы на языках Си и С++. Например Qt и wxWidgets (последняя для UI-контролов дергает нативные API - в венде WinAPI, в линуксе GTK+ или же еще что-либо по вкусу) Принципиальное отличие Си от Си++ в том, что последний является языком более-менее объектно-ориентированным (есть классы, шаблоны, ссылки, перегрузка операций и еще куча вещей, от злоупотребления которых можно тронуться умом) и стоит выше голого Си по уровню абстракции. -------------------- |
|
|
Текстовая версия | Сейчас: 13th May 2024 - 11:00 |