Язык программирования C++ для профессионалов
С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова. Кроме того, С++ успешно используется во многих областях приложения, далеко выходящих за указанные рамки. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем. Поэтому книга дает лишь описание собственно языка, не объясняя особенности конкретных реализаций, среды программирования или библиотек.
Читатель найдет в книге много примеров с классами, которые, несмотря на несомненную пользу, можно считать игрушечными. Такой стиль изложения позволяет лучше выделить основные понятия и полезные приемы, тогда как в настоящих, законченных программах они были бы скрыты массой деталей. Для большинства предложенных здесь классов, как то связанные списки, массивы, строки символов, матрицы, графические классы, ассоциативные массивы и т.д., - приводятся версии "со 100% гарантией" надежности и правильности, полученные на основе классов из самых разных коммерческих и некоммерческих программ. Многие из "промышленных" классов и библиотек получились как прямые или косвенные потомки игрушечных классов, приводимых здесь как примеры.
Предисловие
В С++ нет типов данных и элементарных операций высокого уровня. Например, не существует типа матрица с операцией обращения или типа строка с операцией конкатенации. Если пользователю понадобятся подобные типы, он может определить их в самом языке. Программирование на С++ по сути сводится к определению универсальных или зависящих от области приложения типов. Хорошо продуманный пользовательский тип отличается от встроенного типа только способом определения, но не способом применения.
Замечания по проекту языка
Историческая справка
Сравнение языков С++ и С
Эффективность и структура
Философские замечания
Замечания о программировании на языке С++
Несколько полезных советов
Замечание для программистов на С
Парадигмы программирования
Приведены конструкции языка, которые существенны для каждого из перечисленных стилей программирования. Свойственный С стиль программирования обсуждается в разделах "процедурное программирование и "модульное программирование". Язык С++ - "лучший вариант С". Он лучше поддерживает такой стиль программирования, чем сам С, причем это делается без потери какой-либо общности или эффективности по сравнению с С. В то же время язык C является подмножеством С++.
Процедурное программирование
Модульное программирование
Абстракция данных
Пределы абстракции данных
Объектно-ориентированное программирование
"Улучшенный С"
Программа и стандартный вывод
Область видимости
Описанием определяется область видимости имени. Это значит, что имя может использоваться только в определенной части текста программы. Если имя описано в функции (обычно его называют "локальным именем"), то область видимости имени простирается от точки описания до конца блока, в котором появилось это описание. Если имя не находится в описании функции или класса (его обычно называют "глобальным именем"), то область видимости простирается от точки описания до конца файла, в котором появилось это описание.
Объекты и адреса
Время жизни объектов
Имена
Типы
Основные типы
Неявное преобразование типа
Производные типы
Тип void
Указатели
Калькулятор
Программа калькулятора состоит из четырех основных частей: анализатора, функции ввода, таблицы имен и драйвера. По сути - это транслятор в миниатюре, в котором анализатор проводит синтаксический анализ, функция ввода обрабатывает входные данные и проводит лексический анализ, таблица имен хранит постоянную информацию, нужную для работы, а драйвер выполняет инициализацию, вывод результатов и обработку ошибок.
Калькулятор
Анализатор
Функция ввода
Таблица имен
Связывание
Если явно не определено иначе, то имя, не являющееся локальным для некоторой функции или класса, должно обозначать один и тот же тип, значение, функцию или объект во всех единицах трансляции данной программы. Иными словами, в программе может быть только один нелокальный тип, значение, функция или объект с данным именем.
Заголовочные файлы
Единственный заголовочный файл
Множественные заголовочные файлы
Связывание с программами на других языках
Классы и члены
Понятие класса, которому посвящена эта и три следующих лекций, служит в С++ для того, чтобы дать программисту инструмент построения новых типов. Ими пользоваться не менее удобно, чем встроенными. В идеале использование определенного пользователем типа не должно отличаться от использования встроенных типов. Различия возможны только в способе построения.
Функции-члены
Классы
Классы - 2
Ссылка на себя
Инициализация
Удаление
Подстановка
Самоучитель по Computer Network The Hands
У вас дома два компьютера? К одному подключен принтер, и вам приходится бегать с дискетой, чтобы распечатать документ, подготовленный на другом компьютере? Или вы хотите сражаться с друзьями в любимые компьютерные игры? А может быть, вам нужно работать в Интернете, но у вас нет модема, а у ближайшего соседа есть?..
Решение очевидно — ведь сегодня уже никому не нужно объяснять, насколько эффективнее можно использовать имеющиеся в распоряжении компьютеры и периферийные устройства, если объединить оборудование в локальную сеть!
Предисловие
Вы найдете: описание основ организации сети Ethernet с использованием коаксиального кабеля и витой пары; описания и характеристики основных типов кабелей; определение и описание основных типов топологии сети; объяснение принципов настройки и эксплуатации оборудования и программного обеспечения. Кроме того, вы получите множество полезных практических советов по организации и прокладке локальных сетей Ethernet.
Общие сведения о локальных сетях
Непосредственный доступ к Интернету подразумевает использование самого полного спектра услуг глобальной сети. Локальная сеть, имеющая непосредственный доступ, фактически может пользоваться Сетью с высокой скоростью и высокой эффективностью постоянно, то есть круглые сутки и в непрерывном режиме. Как уже упоминалось ранее, Интернет — это сеть, состоящая из множества локальных сетей.
История развития локальных сетей
Общие сведения о подключении к Интернету
Существующие сетевые технологии
Перспективы развития локальных сетей
Представление изображений
Представление звуков
Упаковка данных
Контрольные суммы
Введение в криптографию
Сетевые протоколы
Как уже упоминалось ранее, в локальных сетях могут совместно работать компьютеры разных производителей, оснащенные различным набором устройств и обладающие несхожими техническими характеристиками. На практике это означает, что для обеспечения нормального взаимодействия этих компьютеров необходим некий единый унифицированный стандарт, строго определяющий алгоритм передачи данных в распределенной вычислительной системе.
Сетевые протоколы
Косвенно-регистровый режим со смещением
Базово-индексный режим
Сложные режимы адресации
Адресация с использованием счетчика команд
Архитектура сетей Ethernet
В рамках этой книги мы рассмотрим локальные сети, созданные с использованием наиболее популярной и распространенной в наши дни технологии — Ethernet. Данная технология появилась в 70-е годы XX века, когда инженер-исследователь из Массачусетского технологического института Билл Меткалф, сотрудничавший также с исследовательским центром компании Xerox в г. Пало-Альто, подготовил докторскую диссертацию, посвященную методикам организации компьютерных коммуникаций.
Архитектура сетей Ethernet
Классы 100BaseT, 100BaseTX, 100ВаsеТ4
Класс1000BaseT (Gigabit Ethernet)
Устройства switch в сетях 10BaseT
Репитеры (повторители)
Топология сетей Ethernet
Топология «общая шина»
Топология «звезда»
Классы сетей Ethernet
Оборудование
Настало время побеседовать об оборудовании, используемом при построении локальных сетей. В этой главе мы обсудим технические особенности современных сетевых адаптеров, концентраторов, характеристики кабеля, изучим различные типы разъемов, с помощью которых выполняются соединения элементов локальной сети. А начнем мы, пожалуй, с рассмотрения самого важного компонента любой распределенной вычислительной системы — сетевой карты.
Концентраторы
Сетевые адаптеры
Моноинтерфейсные и комбинированные адаптеры
Сетевые адаптеры ISA, PCI и USB
Как установить сетевой адаптер?
Настройка сетевого адаптера
Сетевые адаптеры Plug-And-Play
Программно-конфигурируемые сетевые адаптеры
Аппаратно-конфигурируемые сетевые адаптеры
Как найти свободное прерывание?
Прокладывание локальной сети
Постепенно мы подошли к одному из наиболее интересных разделов нашего «Самоучителя» — к разделу, посвященному прокладыванию и компоновке локальной сети. В настоящей главе мы рассмотрим два наиболее распространенных класса локальных сетей: 10Base2 и 10BaseT, а также обсудим ряд особенностей их монтажа.
Монтаж разъемов RJ-45 на кабеле Path cord
Обжимной инструмент
Защитные колпачки
Разъем RJ-45
Последовательность монтажа разъема
Монтаж сетевых розеток
Если нет обжимного инструмента
Прямое соединение по схеме «точка—точка»
Прокладывание локальной сети 10Base2
Монтаж разъемов BNC
Настройка локальной сети
Поскольку домашние локальные сети создаются обычно на основе двух компьютеров, один из которых, как правило, имеет более старую, а другой -более современную конфигурацию, необходимо рассмотреть принципы настройки локальной сети для нескольких различных операционных систем. И если одна из подключенных к локальной сети машин будет более совершенна по отношению к другой, вполне вероятно, что на ней будет установлена ОС Microsoft Windows XP.
Настройка конфигурации и протоколов в Win2000
Настройка NetBEUI/IPX/SPX в Win2000
Как быстро настроить домашнюю ЛC?
Управление сетевым доступом к ресурсам
Настройка сетевого доступа к дискам
Управление сетевым доступом к папкам
Управление доступом к локальному принтеру
Подключение сетевого принтера
Подключение сетевого диска
Работа в локальной сети
Совместное использование Интернета
Одно из основных преимуществ локальной сети — это возможность совместного использования на всех сетевых компьютерах доступа в Интернет через один из узлов, который оснащен модемом либо подключен ко Всемирной Сети через высокоскоростное соединение, например, соединение ADSL или ISDN. Для этих целей используется специальное программное обеспечение, позволяющее после предварительной настройки обращаться к ресурсам Интернета через единственное подключение
Настройка сети перед установкой WinRoute
Установка WinRoute
Настройка WinRoute
Настройка доступа к почте в сети WinRoute
Программа WinGate
Настройка сети перед установкой WinGate
Установка WinGate
Настройка WinGate
Как настроить общий доступ к почте в WinGate
Блокировка доступа пользователей к URL
Краткие сведения о беспроводных технологиях
В этой главе мы кратко рассмотрим основные технологии передачи данных в беспроводных локальных сетях. В настоящее время беспроводные технологии становятся все более доступными и понемногу получают значительное распространение среди прочих способов передачи данных между нескольким объединенными в вычислительную систему компьютерами.
Настольные системы
Системы Radio Ethernet
Системы с микросотовой архитектурой
Беспроводные мосты
Драйверы внешних устройств
Драйвер (driver) представляет собой специализированный программный модуль, управляющий внешним устройством. Слово driver происходит от глагола to drive (вести) и переводится с английского языка как извозчик или шофер: тот, кто ведет транспортное средство. Драйверы обеспечивают единый интерфейс для доступа к различным устройствам, тем самым устраняя зависимость пользовательских программ и ядра ОС от особенностей аппаратуры.
Асинхронный ввод-вывод
Сервисы ядра, доступные драйверам
Автоконфигурация
Выделение памяти
Таймеры
Обмен данными с пользовательским процессом
Сервисные функции
Асинхронная модель ввода-вывода
Дисковый кэш
Спулинг
Файловые системы
Одним из первых внешних устройств после клавиатуры и телевизора, которые перечисляются в любом руководстве по персональным компьютерам для начинающих, является магнитный диск. Вообще говоря, вместо магнитного диска в наше время может использоваться и какая-то другая энергонезависимая память, например, флэш или файловьш сервер, но наличие такой памяти является очень важным. Ведь вы же не будете набирать вашу программу каждый раз при новом включении компьютера.
Устойчивость к сбоям питания
Восстановление ФС после сбоя
Файловые системы с регистрацией намерений
Устойчивость ФС к сбоям диска
Драйверы файловых систем
Файлы с точки зрения пользователя
Монтирование файловых систем
Формат имен файлов
Операции над файлами
Тип файла
Безопасность
Наиболее ярким примером являются современные глобальные сети, которые предоставляют доступ к огромному богатству информационных сред. Эти же сети представляют серьезную угрозу безопасности подключающихся к сети организаций. Основная специфика угрозы заключается в том, что в таких сетях злоумышленнику значительно легче обеспечить свою анонимность даже в случае обнаружения факта "взлома";.
Ресурсные квоты
Атаки на систему безопасности
Отказ в сервисе
Троянские программы
Типичные уязвимые места
Ошибки программирования
Практические рекомендации
Формулировка задачи
Сессии и идентификаторы пользователя
Аутентификация
Глоссарий
1000BaseT (Gigabit Ethernet) - один из классов сетей Ethernet. Обеспечивает скорость передачи данных до 1000 Мбит/с (1 Гбит/с). В архитектуре сетей 1000BaseT используется топология «звезда» на базе высококачественного кабеля «витая пара» категории 5, в котором задействованы все восемь жил, причем каждая из четырех пар проводников используется как для приема, так и для передачи информации.
Логика и жизнь
- перейти
Логические игры
- перейти
Моделирование финансов
- перейти
Фондовый менеджмент
- перейти
Финансовые модели
- перейти
Основные понятия объектно-ориентированного подхода
- перейти
Система управления
- перейти
Цифровой анализ
- перейти
Краткая характеристика систем класса Maple
- перейти
Работа со справочной системой
- перейти
Операции с файлами
- перейти
Управление видом интерфейса и документа
- перейти
Maple язык и его синтаксис
- перейти
Операторы и операнды
- перейти
Функции пользователя
- перейти
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий