====== Учебник по C++ от Sources.RU ====== (обсуждение [[http://forum.sources.ru/index.php?showtopic=251761|здесь]]) - [[.:teachbook:intro|Введение]] (здесь пишем о том, где живем, зачем и кому все это надо) - [[.:teachbook:beginning|Начала]] - [[.:teachbook:beginning:compiler-choice|Выбор среды и компилятора]] (здесь пишем о том, что лучше всего выбрать для собственных разработок) - [[.:teachbook:beginning:compiler-choice:visualc|Visual C++]] - [[.:teachbook:beginning:compiler-choice:borlandc|Borland C++ Builder]] - [[.:teachbook:beginning:compiler-choice:qtcreator|Qt Creator]] - [[.:teachbook:beginning:compiler-choice:emacs|EMACS]] - [[.:teachbook:beginning:compiler-choice:eclipse_netbeans|Eclipse/NetBeans]] - [[.:teachbook:beginning:compiler-choice:gcc|g++/Console]] (включая CygWin, MinGW) - [[.:teachbook:beginning:firstprog|Первая программа]] (тут, думаю, понятно - hello world) - [[.:teachbook:beginning:basetools|Основной инструментарий программиста]] (достаточно большой раздел, описывающий основные синтаксические конструкции языка, контролирующие поток исполнения) - [[.:teachbook:beginning:basetools:linearexec|Линейное исполнение и простейшая арифметика]] - [[.:teachbook:beginning:basetools:types-and-vars|Память, переменные и типы]] (тут имеются в виду фундаментальные типы и строки) - [[.:teachbook:beginning:basetools:conditions|Ветвления]] (if/else/switch) - [[.:teachbook:beginning:basetools:arrays|Массивы]] (Описываются сопособы описания статических и динамических массивов) - [[.:teachbook:beginning:basetools:loops|Циклы]] (Базовые - for/while/do) - [[.:teachbook:beginning:basetools:functions|Функции]] (тут понятно) - [[.:teachbook:beginning:basetools:iterators|Итераторы и итерационные алгоритмы]] (которые for_each/copy/transform и прочие) - [[.:teachbook:beginning:basetools:end-programm|Написание программы, табулирующей в консоль захардкоренную функцию для заданных значений аргументов]]. - [[.:teachbook:beginning:classes|Классы и объекты]] (тут пока раскрывать не возьмусь) - [[.:teachbook:beginning:opp-concept|Идеология]] (зачем нужны классы+ базовые возможности: методы, поля, конструкторы, деструкторы,операторы) - [[.:teachbook:beginning:dynamic-polymorf|Наследование]] (Наследование, Виртуальные функции, Интерфейсы) - [[.:teachbook:beginning:static-polymorf|Шаблоны]] (Все о них) - [[.:teachbook:beginning:exceptions|Исключения]] (сам механизм, чем лучше кодов, поддержка STL) - [[.:teachbook:beginning:programming-style|Стили программирования и красота кода]] (тут некоторое лирическое отступление для описания, как лучше оформлять код, что такое плохой/хороший/читабельный/нечитабельный код и т. п.) - [[.:teachbook:intermediate|Ближе к реальности]] - [[.:teachbook:intermediate:prog-design|Аспекты проектирования программы]] (тут общие вопросы о том, как писать, и как не писать) - [[.:teachbook:intermediate:gui|Основы использования GUI-библиотек]] (минимальный набор средств для создания простых окошек и рисования в них с использованием Qt) - [[.:teachbook:intermediate:memory-management|Основы управления памятью]] (что такое динамическая память, и с чем ее едят - shared_ptr'ы, auto_ptr'ы и прочее) - [[.:teachbook:intermediate:end-programm|Написание программы, рисующей графики функций (несколько захардкоренных вариантов) в разных системах координат и с разными параметрами]].