Введение в язык Си++

     Смотрите www.mypharmacy.com.ua прогинорм ово цена. |     

Введение в язык Си++

C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей C++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.
Ключевым понятием C++ является класс. Класс - это тип, определяемый пользователем. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline- подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В C++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. C++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C.

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

Заказчик всегда прав
Малое — это прекрасно (большое == медленное)
Общие проблемы разработки программ
Прежде всего, не навреди
Нельзя измерять производительность числом строк
Вы не можете программировать в изоляции
Пустые потери времени
Пишите программу с учетом сопровождения
Эффективность — часто просто пугало
Форматирование и документация

Откажитесь от выражений языка Си, когда программируете на Си++
Многие из проблем, рассмотренных в предыдущих правилах, вызваны программистами на Си, не желающими отказаться от знакомых выражений Си при переходе на Си++. Та же самая проблема существует и в естественных языках: вам будет тяжело заставить себя понять по-французски, если вы просто переведете английские выражения в их буквальные эквиваленты.

Проектируйте с учетом наследования
Функция использовать закрытые поля данных класса
Используйте константы
Используйте структуры
Тела функций в определениях классов
Тела функций в определениях классов - 2
Избегайте перегрузки функций и аргументов
Избегайте перегрузки функций и аргументов - 2
Избегайте дружественных классов
Наследование — это форма сцепления

C++.Бархатный путь
Как правило, в книгах, посвящённых описанию языков программирования, в качестве иллюстраций приводятся примеры не сложнее, чем реализация алгоритма пузырьковой сортировки. Более сложные примеры отвлекают от основного предмета изучения. К тому же, даже самые простые содержательные примеры в книге о языке программирования неизбежно ограничивают "поле зрения" читателей, оставляя за пределами их внимания множество безупречных, с точки зрения синтаксиса языка программирования, предложений.

C++. Бархатный путь
C++. Бархатный путь - 2

Язык и грамматика
Формальный язык является объединением нескольких множеств: множества исходных символов, называемых литерами (алфавит), множества правил, которые позволяют строить из букв алфавита новые слова (правила порождения слов или идентификаторов), множества предопределённых идентификаторов или словаря ключевых слов (прочие идентификаторы называются именами), множества правил, которые позволяют собирать из имён и ключевых слов выражения, на основе которых строятся простые и сложные предложения (правила порождения операторов или предложений).

Эволюция языков программирования
Транслятор и компоновщик
Библиотеки
Алфавит C++
Правила образования идентификаторов
Ключевые слова и имена
Символы операций и разделителей
Литералы
Литералы - 2
Структура предложения C++

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

Операторные функции
Операторные функции - 2
Операторные функции - 3
Операторные функции - 4
Операторные функции - 5
Операторные функции - 6
Операторные функции - 7
Вызов операторной функции operator ~()
Функции operator new() и operator delete()
Функции operator new() и operator delete() - 2

Справочное руководство по C++
Язык программирования C++ - это C, расширенный введением классов, inline-функций, перегруженных операций, перегруженных имен функций, константных типов, ссылок, операций управления свободной памятью, проверки параметров функций. Коротко различия между С++ и "старым С" приведены

Договоренности о лексике
Комментарии
Идентификаторы (имена)
Ключевые слова
Константы
Целые константы
Явно заданные длинные константы
Символьные константы
Константы с плавающей точкой
Перечислимые константы

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

Лексемы (tokens)
Комментарий
Идентификаторы
Ключевые слова
Константы
Целые константы
Символьные константы
Константы с плавающей точкой
Константы-перечисления
Строковые литералы

Подсчет символов
Программа подсчета символов накапливает сумму в переменной типа long. Целые типа long имеют не менее 32 битов. Хотя на некоторых машинах типы int и long имеют одинаковый размер, существуют, однако, машины, в которых int занимает 16 бит с максимально возможным значением 32767, а это - сравнительно маленькое число, и счетчик типа int может переполниться.

Подсчет строк
Подсчет строк - 2
Подсчет слов
Подсчет слов - 2
Массивы
Массивы - 2
Функции
Функции - 2
Функции - 3
Аргументы. Вызов по значению

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

Произвольный доступ (lseek)
Пример. Реализация функций fopen и getc
Пример. Реализация функций fopen и getc - 2
Пример. Реализация функций fopen и getc - 3
Пример. Реализация функций fopen и getc - 4
Пример. Печать каталогов
Пример. Печать каталогов - 2
Пример. Печать каталогов - 3
Пример. Печать каталогов - 4
Пример. Печать каталогов - 5


Архитектура среды тестирования на основе моделей, построенная на базе компонентных технологий
Информационные компьютерные сети
Документация на MySQL
Основы информационной безопасности
Информатика для юристов и экономистов
Технические средства обработки информации
Лекции по информационной безопасности
База знаний предприятий
Курс лекций по информатике
Языки информационного обмена
Новые информационные технологии. Основы и аппаратное обеспечение
Информатика -продвинутый курс
Информатика на практике
Практическая информатика
Разработка систем безопасности
Самоучитель по Protection to information
Технические средства обработки информации
Информационное обеспечение систем управления
Информатика -взгляд второй
Информатика как она есть