Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 05.09.2015
Сообщений: 2

Посоветуйте пожалуйста литературу по С++ для начинающих,желательно с пометкой "для тупых"

05.09.2015, 18:18. Показов 4730. Ответов 77
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна подробная литература по изучению С++,где было бы подробное объяснение каждого шага,наподобие книги "Изучаем HTML,XHTML и CSS" Э.Робсон и Э.Фримен. Буду очень благодарна за всю информацию
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2015, 18:18
Ответы с готовыми решениями:

Посоветуйте литературу или желательно видео уроки базовые для работы с графикой на Delphi
Здравствуйте. У меня есть желание создать мини-игру на Delphi, хочу на диплом такой проект взять, но для начала нужно хорошо разобраться с...

Посоветуйте литературу по Си для начинающих
Посоветуйте литру по си для нулевых .

Посоветуйте литературу для начинающих (OpenGL/C++)
Посоветуйте пожалуйста литературу по OpenGL/C++ для начинающих ,ничего не могу найти нормального ,и желательно что-бы это была именно книга...

77
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
06.09.2015, 12:51
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от smartpointer Посмотреть сообщение
Так же и тут всю работу делает сишечка. Привинченные плюсы это лишь допиленный Страуструповский препроцессор, который дает некоторые плюшки и удобства - не более. Каждый уважающий себя программист С++ обязан знать основы Си.
Ну дак и в Паскале всю работу в итоге делает ассемблер. Никто же в книжке по Паскалю не занимает ее первую половину изложением ассемблера. Я уж приводил мнение Страуструпа, что он не советует учить Си. Так что это пропихивание Си сишной мафией ни на чем не основано, и должно быть искоренено.
1
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
06.09.2015, 12:55
Цитата Сообщение от Avazart Посмотреть сообщение
Никак не лишних. Или вы думаете в С++ редко приходится использовать строки в стиле Си ?
Я не думал об этом, я пока что учусь
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
06.09.2015, 13:00
Цитата Сообщение от Avazart Посмотреть сообщение
Или вы думаете в С++ редко приходится использовать строки в стиле Си ?
Ну, в С++ вообще не приходится. А Си люди уже по собственному желанию приплетают.
0
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
06.09.2015, 13:17
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну дак и в Паскале всю работу в итоге делает ассемблер. Никто же в книжке по Паскалю не занимает ее первую половину изложением ассемблера.
Любой компилируемый язык - на выходе ассемблер.
Цитата Сообщение от Mr.X Посмотреть сообщение
Я уж приводил мнение Страуструпа, что он не советует учить Си. Так что это пропихивание Си сишной мафией ни на чем не основано, и должно быть искоренено.
Не советует, поскольку догадливому достаточно прочитать учебник по С и прочитать из С++ инфу про классы и шаблоны - и познать истинную работу Страуструпа как "создателя нового языка".
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
06.09.2015, 13:39
Цитата Сообщение от smartpointer Посмотреть сообщение
Любой компилируемый язык - на выходе ассемблер.
Ну вот и я о том же.
Цитата Сообщение от smartpointer Посмотреть сообщение
Не советует, поскольку догадливому достаточно прочитать учебник по С и прочитать из С++ инфу про классы и шаблоны - и познать истинную работу Страуструпа как "создателя нового языка".
Ну, не верю, что вы это всерьез. А с троллями не вижу смысла дискутировать.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
06.09.2015, 14:09
Цитата Сообщение от Bespridelschic Посмотреть сообщение
А с мыслями Страуструпа я думаю стоит ознакомиться уже после каких-то начальных устаканившихся знаний.
умничка.

Цитата Сообщение от Bespridelschic Посмотреть сообщение
на основании динамических массивов?
на языке с++ не существует никаких динамических массивов.

Добавлено через 3 минуты
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну дак и в Паскале всю работу в итоге делает ассемблер. Никто же в книжке по Паскалю не занимает ее первую половину изложением ассемблера. Я уж приводил мнение Страуструпа, что он не советует учить Си. Так что это пропихивание Си сишной мафией ни на чем не основано, и должно быть искоренено.
Франка.

начинает сразу с классов.
вместо консольки - вин32приложение.

не типичный подход.

Франка объясняет концепцию ООП.
постепенно усложняя и усложняя материал.

здесь всякие строки/указатели/прочая фигня - лишь переферия,
которую приходится осиливать попутно, что бы порешать материал.

пожалуй Франка - единственная книжка для самых маленьких,
которая резко, разительно отличается от всех остальных.

я запомнил её, как свой самый любимый букварь.

а вот другие авторы - у них у всех все примерно одинаково.

Добавлено через 4 минуты
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, в С++ вообще не приходится.
Вы хотите нам сказать, что на плюсах не используют литерных констант?


Цитата Сообщение от smartpointer Посмотреть сообщение
Не советует, поскольку догадливому достаточно прочитать учебник по С и прочитать из С++ инфу про классы и шаблоны - и познать истинную работу Страуструпа как "создателя нового языка".
нет. не советуют потому что Страуструп - ни разу не педагог.
и из его книг новичками часто ничего не понятно.

а вот то, о чем пишите вы сейчас - очень сильно смахивает на дешовый понт.

кстати, вы в курсе, какие трудности испытывают махровые сишники при переходе на плюсы?
0
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
06.09.2015, 14:25
Цитата Сообщение от hoggy Посмотреть сообщение
кстати, вы в курсе, какие трудности испытывают махровые сишники при переходе на плюсы?
Догадываюсь, перерасход памяти - неиспользуемые переменные, неконтролируемые вызовы конструкторов + кривое наследование, угадал ? Ах да забыл еще, вы Хогги любитель проинкапсулировать все в классы или неймспейсы, поведуйте миру как можно сделать предварительное объявление допустим std::vector<int> не инклудируя хеадер ?
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
06.09.2015, 14:30
Цитата Сообщение от hoggy Посмотреть сообщение
на языке с++ не существует никаких динамических массивов.
Т.е. динамическое связывание не относится к массивам?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
06.09.2015, 14:36
Цитата Сообщение от smartpointer Посмотреть сообщение
Догадываюсь, перерасход памяти - неиспользуемые переменные, неконтролируемые вызовы конструкторов + кривое наследование, угадал ?
оопнутая концеппция классов с++.

как сказал один махровый сишник: "не понимаю я этих ваших классов"

до него более менее начало доходить только после того,
как мы вместе сели и проэмулировали ооп на сишке.

и то, уже вроде бы поняв суть идеи,
он тупо не хотел с нею смериться.
ему было неудобно, что компилятор автоматизирует за него кучу всего.
ему не удобно, что он своими глазами не видит этого кода.
он привык, что все должно быть явно.

это называется "профессиональная деформация головного мозга".
когда чел очень хорошо освоил один инструмент,
и начинает смотреть на другие инструменты сквозь призму первого.

пытается программировать на с++, как на сишке.

и он такой - не один.

Добавлено через 43 секунды
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Т.е. динамическое связывание не относится к массивам?
ваш вопрос звучит так:

"тепло" не относится к "мягкому" ?
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
06.09.2015, 14:37
Bespridelschic, в С++ нативных динамических массивов нет. То, что называют "динамическими массивами", по сути - обычный массив. Там только память под него выделяется динамически. А, скажем, добавить или удалить элемент из такого "динамического" массива ты не можешь. Единственный выход - создать новый массив большего размера (выделить под него память), скопировать в него итоговый массив, освободить память итогового массива. Или пользоваться каким-то готовым контейнером, например, std::vector, который действуют примерно таким же образом.
1
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
06.09.2015, 14:42
Цитата Сообщение от gru74ik Посмотреть сообщение
Единственный выход - создать новый массив большего размера (выделить под него память), скопировать в него итоговый массив, освободить память итогового массива. Или пользоваться каким-то готовым контейнером, например, std::vector, который действуют примерно таким же образом.
Учту. Спасибо за разъяснения.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
06.09.2015, 14:42
Цитата Сообщение от smartpointer Посмотреть сообщение
Ах да забыл еще, вы Хогги любитель проинкапсулировать все в классы или неймспейсы, поведуйте миру как можно сделать предварительное объявление допустим std::vector<int> не инклудируя хеадер ?
в хэдере будет что-то вроде:

C++
1
2
3
4
5
6
7
8
9
10
// предварительное объявление
template<
    class T,
    class Allocator = std::allocator<T>
> class vector;
 
        
// можно использовать в выражениях,
// не требующих знания о размере типа
vector<int>* ptr = nullptr;
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
06.09.2015, 14:53
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Т.е. динамическое связывание не относится к массивам?
Bespridelschic, тебе нужно лучше понять, что такое связывание (binding) :
Цитата Сообщение от Стивен Прата
Статическое и динамическое связывание
Какой блок исполняемого кода выполняется, когда программа вызывает функцию?
На этот вопрос должен ответить компилятор. Интерпретация вызова функции в
исходном коде в виде выполнения определенной части кода называется связыванием
имени функции. В С эта задача не представляет сложности, т.к. каждое имя функции
соответствует отдельной функции. В C++ все несколько сложнее из-за перегрузки функций.
Компилятор должен учесть не только имя, но и аргументы функции, чтобы
определить, какую функцию использовать. Но все же такой тип связывания компилятор С
или C++ может выполнить во время компиляции. Связывание, выполняемое во время
компиляции, называется статическим (или ранним) связыванием. Однако виртуальные
функции еще более усложняют ситуацию. Как показано в листинге 13.10, решение о
том, какую функцию использовать, не может быть принято во время компиляции,
поскольку компилятор не знает, с объектом какого типа собирается работать
пользователь. Поэтому компилятор должен генерировать код, который позволяет выбирать
нужный виртуальный метод во время работы программы. Такой процесс называется
динамическим (или поздним) связыванием.
Вот как это в оригинале:
Цитата Сообщение от Stephen Prata
Static and Dynamic Binding
Which block of executable code gets used when a program calls a function? The compiler
has the responsibility of answering this question.Interpreting a function call in the source
code as executing a particular block of function code is termed binding the function name.
With C,the task is simple because each function name corresponds to a distinct function.
With C++,the task is more complex because of function overloading.The compiler has
to look at the function arguments as well as the function name to figure out which func-
tion to use.Nonetheless,this kind of binding is a task a C or C++ compiler could per-
form during the compiling process;binding that takes place during compilation is called
static binding (or early binding).However,virtual functions make the job more difficult yet.
As shown in Listing 13.10,the decision of which function to use can’t be made at com-
pile time because the compiler doesn’t know which kind of object the user is going to
choose to make.Therefore,the compiler has to generate code that allows the correct vir-
tual method to be selected as the program runs;this is called dynamic binding (or late
binding).
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
06.09.2015, 15:10
Цитата Сообщение от hoggy Посмотреть сообщение
Вы хотите нам сказать, что на плюсах не используют литерных констант?
Если вы строковые литералы имеете в виду, то их тип - это символьный массив, а не сишная строка.
0
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
06.09.2015, 15:12
Цитата Сообщение от hoggy Посмотреть сообщение
в хэдере будет что-то вроде:
Попробуйте затолкать в любой класс в хеадере, а в конструкторе динамически выделить память для него. Дабы избавить вас от мазохизма - это невозможно, по причине неймспейсов, обычный шаблонный класс - возможно. Собственно зачем тогда нужны неймспейсы - если их так криво запилили ?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.09.2015, 15:15
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Интересно, что-же, по-вашему, тогда ФП?
Явно не лямбды и тем более не замыкания.
Ибо замыкания изменяю "внешние" переменные/состояния а это императивщина.
ФП это когда ф-ци не изменяют ничего "из вне" не имеют последействия, как и сказано в том блоге.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
06.09.2015, 15:23
Цитата Сообщение от smartpointer Посмотреть сообщение
Попробуйте затолкать в любой класс в хеадере, а в конструкторе динамически выделить память для него. Дабы избавить вас от мазохизма - это невозможно, по причине неймспейсов,
бред.

заталкивал - работает, как часики.

и казалось бы, причем тут неймспейсы?

Добавлено через 33 секунды
Цитата Сообщение от smartpointer Посмотреть сообщение
Собственно зачем тогда нужны неймспейсы - если их так криво запилили ?
с неймспейсами все в порядке.

проблема кривости ваших рук.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.09.2015, 15:25
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Я не думал об этом, я пока что учусь
Стоит подумать о месте Си в С++ как в историческом плане так и практическом.

К примеру что если человеку нужно написать свой контейнер под конкретную задачу , а он не знает как это делатеся, что делать?
Кроме того системы как правило используют cишное api, кроме того есть куда сишных библиотек и что бы использовать их нужно знать как использовать си-строки, во всяком случае как "подставлять" std::string в системные функции и какие могут быть нюансы. Бывает куча "старого" кода Си который необходимо поддерживать.
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
06.09.2015, 15:26
Цитата Сообщение от Mr.X Посмотреть сообщение
Если вы строковые литералы имеете в виду, то их тип - это символьный массив, а не сишная строка.
1.
я не спрашивал что это.

2.
чем "символьный массив, заканчивающийся нулем" отличается от "сишной строки" ?
0
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
06.09.2015, 15:28
Цитата Сообщение от hoggy Посмотреть сообщение
бред.
заталкивал - работает, как часики.
и казалось бы, причем тут неймспейсы?
«Talk is cheap. Show me the code».©Linus Torvalds
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.09.2015, 15:28

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

Посоветуйте литературу для начинающих и источник программ
Привет всем. Я в линуксе чистейшей воды новичок. Недавно выбрал для себя начать засиживаться в openSUSE...понравился KDE по внешнему виду....

Посоветуйте литературу по Lua и Corona SDK для начинающих
Знаю Delphi, c++, assembler. Последний немного. Посоветуйте с чего начать изучение Lua и Corona SDK для Lua.

Подскажите пожалуйста литературу для самых начинающих
В школе очень любил турбо паскаль хочу переучиться на плюсах

Посоветуйте плз какую то литературу для начинающих. Темы- HTML и JavaSkript
Темы- HTML и JavaSkript


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru