IPB

Здравствуйте, гость ( Вход | Регистрация )

> Программирование C++
Гость_Mike_*
сообщение Sep 20 2007, 18:33
Сообщение #1





Guests






Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему
Вернуться к началу страницы
 
+Цитировать сообщение
2 страниц V  < 1 2  
Создать новую тему
Ответов (20 - 32)
Amp
сообщение Mar 29 2008, 23:10
Сообщение #21


Мега постер
Иконка группы

Группа: Local moder
Сообщений: 1,712
Регистрация: 21.8.2006
Пользователь №: 1,269



Цитата(G®emLIN @ Mar 29 2008, 23:07) *
Скажите, пожалуйста, какой хидер в С++ включает в себя функцию explode - функцию разбиения строки с определенным разделителем на элементы массива.

Из стандартных - никакой.


--------------------
irc-капец

#КартинкА#
Вернуться к началу страницы
 
+Цитировать сообщение
Гость_Partizan_*
сообщение Apr 11 2008, 18:50
Сообщение #22





Guests






strtok имеет аналогичный функционал...
Вернуться к началу страницы
 
+Цитировать сообщение
dect
сообщение 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
Вернуться к началу страницы
 
+Цитировать сообщение
el-
сообщение May 28 2008, 09:19
Сообщение #24


Продвинутый пользователь
***

Группа: Posters
Сообщений: 229
Регистрация: 31.8.2007
Пользователь №: 8,988



Цитата(dect @ May 27 2008, 22:17) *
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал 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


--------------------


Вернуться к началу страницы
 
+Цитировать сообщение
Amp
сообщение Jul 24 2008, 16:38
Сообщение #25


Мега постер
Иконка группы

Группа: Local moder
Сообщений: 1,712
Регистрация: 21.8.2006
Пользователь №: 1,269



Цитата(Partizan @ Apr 11 2008, 19:50) *
strtok имеет аналогичный функционал...
Также наткнулся на аналогичный костыль в виде boost::algorithm::split

Цитата(dect @ May 27 2008, 22:17) *
Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками.
Ты просто видел ограниченное множество "других языков" и не видел всего кошмара C++ в лице его величества "нагромождения шаблонов и макросов".

Сообщение отредактировал Amp - Jul 24 2008, 16:35


--------------------
irc-капец

#КартинкА#
Вернуться к началу страницы
 
+Цитировать сообщение
Bjorndalen
сообщение Jul 25 2008, 14:19
Сообщение #26


SALT LAKE 2002
******

Группа: Posters
Сообщений: 2,129
Регистрация: 2.1.2007
Из: г. Цивильск.
Пользователь №: 4,562



Цитата(dect @ May 27 2008, 22:17) *
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал 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 строк, загромождённое шаблонами чуть более чем полностью, и совершенно ничего не проясняющее. Причём ошибка укажет не на ту точку, где вы реально допустили ошибку.

Это - настоящее лицо С++, позволяющее избегать частого повторения стереотипных и смертельных ошибок, характерных для С, но изобретающее вместо этого сверххитроумные шарады "попробуй найди где ты угловую скобку забыл, а то не откомпилюсь". И он даже не попытается вам сказать, что две подряд угловые скобки понял как оператор сдвига, а не две закрывающих шаблоны отдельных угловые скобки. А доложит о скобках. Причём в точке применения ошибку покажет, а не в точке декларации. Вот такой вот он...

Поэтому он требует тщательного изучения перед применением, иначе служит хорошим орудием самоубийства. И оно стоит того - за счёт несравнимого объёма возможностей. Если этому языку не хватает какой-либо умной концепции - её можно реализовать самими средствами языка - так в С++ имеются и лямбды, и функциональное программирование, и ооп, и процедурность тоже никуда не делась - и никто не мешает применять всё это вместе, сохраняя эффективность.
Вернуться к началу страницы
 
+Цитировать сообщение
RedSIL
сообщение Aug 14 2008, 00:59
Сообщение #28


Супер постер
*****

Группа: Posters
Сообщений: 657
Регистрация: 27.7.2006
Пользователь №: 1,079



где-то я слышал - типа си плюс плюс - это как бы язык высокого уровня, который создавался чтоб заменить ассемблер... то есть - хотя он ЯВУ, но реализован в большей части на более близком к реальному вычислительному процессу уровне - поэтому он и быстрый - и системный так сказать. Но и в то же время, си - это не ассемблер, а высокоуровневый язык программирования. То есть - программисту он позволяет лучше почувствовать сам реальный процесс, происходящий в системе, и получить над ним контроль, но при это он сам должен понимать, что он делает.

Хотя сам я пока с си плюс плюсом, честно говоря, толком ещё не знаком...


--------------------
И мы могли бы вести войну
Против тех, кто против нас,
Так как те, кто против тех, кто против нас,
Не справляются с ними без нас.
Вернуться к началу страницы
 
+Цитировать сообщение
Гость_Ireul_*
сообщение Aug 14 2008, 12:33
Сообщение #29





Guests






Цитата(RedSIL @ Aug 14 2008, 01:59) *
где-то я слышал - типа си плюс плюс - это как бы язык высокого уровня, который создавался чтоб заменить ассемблер... то есть - хотя он ЯВУ, но реализован в большей части на более близком к реальному вычислительному процессу уровне - поэтому он и быстрый - и системный так сказать. Но и в то же время, си - это не ассемблер, а высокоуровневый язык программирования. То есть - программисту он позволяет лучше почувствовать сам реальный процесс, происходящий в системе, и получить над ним контроль, но при это он сам должен понимать, что он делает.

Хотя сам я пока с си плюс плюсом, честно говоря, толком ещё не знаком...


Ты очень сильно путаешь С++ и С.
Как я говорю в пицотыщный раз - это разные и малосовместимые языки.
Ты говоришь о С, и понятия не имеешь о С++, и основной целью его разработки было желание г-на Томпсона не переписывать весь набор утилит для каждой новой версии Unix на асме - и он придумал изолированный набор системных вызовов, позволявший программам интегрироватся в систему через изменяемый интерфейс, и язык, который можно откомпилить в любую версию ассемблера в случае изменений в железе, не меняя программу. Поэтому он изначально разрабатывался как быстрый и системный - требование времени, и в то же время изолированный от системы и ассемблера.
Вернуться к началу страницы
 
+Цитировать сообщение
RedSIL
сообщение Aug 14 2008, 16:33
Сообщение #30


Супер постер
*****

Группа: Posters
Сообщений: 657
Регистрация: 27.7.2006
Пользователь №: 1,079



Цитата(Ireul @ Aug 14 2008, 13:33) *
Ты очень сильно путаешь С++ и С.
Как я говорю в пицотыщный раз - это разные и малосовместимые языки.
Ты говоришь о С, и понятия не имеешь о С++, и основной целью его разработки было желание г-на Томпсона не переписывать весь набор утилит для каждой новой версии Unix на асме - и он придумал изолированный набор системных вызовов, позволявший программам интегрироватся в систему через изменяемый интерфейс, и язык, который можно откомпилить в любую версию ассемблера в случае изменений в железе, не меняя программу. Поэтому он изначально разрабатывался как быстрый и системный - требование времени, и в то же время изолированный от системы и ассемблера.

панятно... панятно))) Текст любой программки компилится для каждой системы просто компилятором, подогнанным под неё.


--------------------
И мы могли бы вести войну
Против тех, кто против нас,
Так как те, кто против тех, кто против нас,
Не справляются с ними без нас.
Вернуться к началу страницы
 
+Цитировать сообщение
Гость_Ireul_*
сообщение Aug 14 2008, 16:58
Сообщение #31





Guests






Цитата(RedSIL @ Aug 14 2008, 17:33) *
панятно... панятно))) Текст любой программки компилится для каждой системы просто компилятором, подогнанным под неё.

Не совсем... и даже совсем не...
http://pauk-net.ru/ipb/index.php?s=&sh...st&p=404915
Вернуться к началу страницы
 
+Цитировать сообщение
RedSIL
сообщение Aug 16 2008, 23:25
Сообщение #32


Супер постер
*****

Группа: Posters
Сообщений: 657
Регистрация: 27.7.2006
Пользователь №: 1,079



Цитата(Ireul @ Aug 14 2008, 17:58) *
Не совсем... и даже совсем не...
http://pauk-net.ru/ipb/index.php?s=&sh...st&p=404915

пасибо, шо ещё раз ткнули пальцем в нос smile.gif А то до нас в реали всё доходит очень медленно...

А системные вызовы у каждой системы разве не свои? То есть под каждую систему усё равно надо исходники в некторых случаях, где они используются, править... этот самый OS SDK для каждой системы ведь свой. И линкер для каждой системы свой нужен... а чем си от си плюс плюс принципиально отличается? Вроде как тем, шо там единая какая-то платформа есть - как вы и сказали, шо кто-то там для того, шоб легче с одной на другую систему проги переводить, придумал это.

ЗЫ - проходил мимо одного книжного магаза... и там книга какого-то Герберта Шилдта "C++ Базовый курс" стоит 600 рубликов... мдЪя... не знай - книжка может и неплохая... но дорого чёт. И задачники всякие тож рублей 200 где-т стоят... зажираются гады.

Тута чёт...
Эта вот книга стояла где-т рублей 400...
тут ещё вроде чёт есть...

Сообщение отредактировал RedSIL - Aug 16 2008, 23:39


--------------------
И мы могли бы вести войну
Против тех, кто против нас,
Так как те, кто против тех, кто против нас,
Не справляются с ними без нас.
Вернуться к началу страницы
 
+Цитировать сообщение
Amp
сообщение Aug 17 2008, 18:00
Сообщение #33


Мега постер
Иконка группы

Группа: Local moder
Сообщений: 1,712
Регистрация: 21.8.2006
Пользователь №: 1,269



Цитата(RedSIL @ Aug 17 2008, 00:25) *
А системные вызовы у каждой системы разве не свои? То есть под каждую систему усё равно надо исходники в некторых случаях, где они используются, править... этот самый 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+ или же еще что-либо по вкусу)

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


--------------------
irc-капец

#КартинкА#
Вернуться к началу страницы
 
+Цитировать сообщение

2 страниц V  < 1 2
ОтветитьСоздать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 29th March 2024 - 00:28