Четверг, 16.05.2024, 16:33
Приветствую Вас Гость

Programict.ucoz.ru

Меню сайта
Мини-чат
Наш опрос
Оцените мой сайт
Всего ответов: 15
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Архив материалов
Как вы уже знаете, если ваша программа объявляет массив, компилятор C++ распределяет память для хранения его элементов. Однако представляется возможным, что до некоторого времени размер массива может быть не так велик, чтобы вместить все необходимые данные. Например, предположим, что вы создали массив для хранения 100 акций. Если позже вам потребуется хранить более 100 акций, вы должны изменить свою программу и перекомпилировать ее. С другой стороны, вместо распределения массива фиксированного размера ваши программы могут запрашивать необходимое количество памяти динамически, т.е. во время выполнения. Например, если программе необходимо следить за акциями, она могла бы запросить память, достаточную для хранения 100 акций. Аналогично, если программе необходимы только 25 акций, она могла бы запросить меньше памяти. Распределяя подобным образом память динамически, ваши программы непрерывно изменяют свои потребности без дополнительного программирования. Если ваши программы запрашивают памя ... Читать дальше »
Просмотров: 613 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

Из урока 31 вы узнали, что при выполнении ваши программы могут использовать оператор new для динамического распределения памяти из свободной памяти. Если оператор new успешно выделяет память, ваша программа получает на нее указатель. Если оператор new не может выделить требуемую память, он присваивает вашей переменной-указателю значение NULL. В зависимости от назначения вашей программы, вы, возможно, захотите, чтобы программа выполнила определенные операции, если new не может удовлетворить запрос на память. Из этого урока вы узнаете, как заставить C++ вызвать специальную функцию, если new не может удовлетворить запрос на память. К концу данного урока вы освоите следующие основные концепции:
Вы можете создать свой собственный обработчик ситуации, когда памяти недостаточно — функции, которую C++ вызывает, если new не может удовлетворить запрос на память.
C++ позволяет вам определить собственный оператор new для выделения и, возможно, инициализации памяти.
C++ позволяет вам оп ... Читать дальше »
Просмотров: 474 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

На всем протяжении этой книги вы использовали выходной поток cout для вывода информации на экран дисплея. Аналогично, многие из ваших программ использовали входной поток cin для чтения информации с клавиатуры. Оказывается, cin и cout представляют собой классовые объекты, определяемые и создаваемые с помощью заголовочного файла iostream.h. Как объекты cin и cout поддерживают различные операторы и операции. Из данного урока вы узнаете, как расширить возможности ввода и вывода, используя функции, встроенные в классы cin и cout. К концу этого урока вы освоите следующие основные концепции:
Заголовочный файл iostream.h содержит определения классов, которые вы можете проанализировать, чтобы лучше понять потоковый ввод/вывод.
Используя метод cout.width, ваши программы могут управлять шириной вывода.
Используя метод cout.fill, ваши программы могут заменить пустые выходные символы (табуляцию и пробелы) некоторым определенным символом.
Для управления количеством цифр, выводимых вы ... Читать дальше »
Просмотров: 616 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

По мере усложнения ваших программ они будут сохранять и получать информацию, используя файлы. Если вы знакомы с файловыми манипуляциями в языке С, вы сможете использовать подобные методы и в C++. Кроме того, как вы узнаете из этого урока, C++ предоставляет набор классов файловых потоков, с помощью которых можно очень легко выполнять операции ввода и вывода (В/В) с файлами. К концу данного урока вы освоите следующие основные концепции:
Используя выходной файловый поток, вы можете писать информацию в файл с помощью оператора вставки (<<).
Используя входной файловый поток, вы можете читать хранимую в файле информацию с помощью оператора извлечения (>>).
Для открытия и закрытия файла вы используете методы файловых классов.
Для чтения и записи файловых данных вы можете использовать операторы вставки и извлечения, а также некоторые методы файловых классов.

Многие программы, которые вы создадите в будущем, будут интенсивно использовать файлы. Выберите время ... Читать дальше »
Просмотров: 859 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (1)

Начиная с урока 8, ваши программы интенсивно использовали функции. Как вы уже знаете, единственное неудобство при использовании функций состоит в том, что они увеличивают издержки (увеличивают время выполнения), помещая параметры в стек при каждом вызове. Из данного урока вы узнаете, что для коротких функций можно использовать метод, называемый встроенным кодом, который помещает операторы функции для каждого ее вызова прямо в программу, избегая таким образом издержек на вызов функции. Используя встроенные (inline) функции, ваши программы будут выполняться немного быстрее. К концу этого урока вы освоите следующие основные концепции:
Для улучшения производительности за счет уменьшения издержек на вызов функции вы можете заставить компилятор C++ встроить в программу код функции, подобно тому, как это делается при замещении макрокоманд.
Используя встроенные (inline) функции, ваши программы остаются удобными для чтения (читающий программу видит вызов функции), но вы избегаете издерж ... Читать дальше »
Просмотров: 570 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

Как вы знаете, большинство команд, вводимых вами в ответ на системную подсказку, позволяют включать дополнительную информацию, такую как имя файла. Например, при использовании команды MS-DOS COPY для копирования содержимого одного файла во второй файл вы указываете в командной строке имена обоих файлов. Аналогично, если ваш компилятор основан на командной строке, вы должны включать имя вашего исходного файла при вызове компилятора. В этом уроке рассмотрены способы, с помощью которых ваши программы на C++ обращаются к аргументам командной строки. К концу данного урока вы освоите следующие основные концепции:
Программы на C++ трактуют аргументы командной строки как параметры функции main.
По традиции C++ передает два (иногда три) параметра в main, которые в большинстве программ называются argc и argv.
Параметр argc содержит количество аргументов командной строки, передаваемых в вашу программу.
Параметр argv представляет собой массив указателей на символьные строки, каждая ... Читать дальше »
Просмотров: 1073 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

Чтобы улучшить удобочитаемость программы, C++ поддерживает именованные константы и макрокоманды. Например, используя именованную константу, вы можете заменить цифровое значение, такое как 50, внутри вашего исходного кода смысловой константой, такой как CLASS_SIZE. Когда ругой программист читает ваш код, он не сможет предположить, что означает цифровое значение 50. Если же вместо этого он каждый раз будет видеть СLASS_SIZE, то он поймет, что это значение соответствует числу студентов в классе. Аналогично, используя макрокоманды, ваши программы могут заменить сложные выражения типа

result = (х*у-3) * (х*у-3) * (х*у-3);

вызовом функции с именем CUBE, как показано ниже:

result = CUBE(x*y-3);

В данном случае макрокоманда не только улучшает удобочитаемость вашего кода, но и упрощает ваш оператор, уменьшая вероятность ошибки. Этот урок рассматривает именованные константы и макрокоманды более подробно. К концу данного урока вы освоите следующие основные концепци ... Читать дальше »
Просмотров: 475 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

Когда программисты говорят о C++ и объектно-ориентированном программировании, то очень часто употребляют термин полиморфизм. В общем случае полиморфизм представляет собой способность объекта изменять форму. Если вы разделите этот термин на части, то обнаружите, что поли означает много, а морфизм относится к изменению формы. Полиморфный объект, следовательно, представляет собой объект, который может принимать разные формы. Этот урок вводит понятие полиморфизма и рассматривает, как использовать полиморфные объекты внутри ваших программ для упрощения и уменьшения кода. К концу данного урока вы освоите следующие основные концепции:
Полиморфизм представляет собой способность объекта изменять форму во время выполнения программы.
C++ упрощает создание полиморфных объектов.
Для создания полиморфных объектов ваши программы должны использовать виртуальные (virtual) функции.
Виртуальная (virtual) функция — это функция базового класса, перед именем которой стоит ключевое слово virt ... Читать дальше »
Просмотров: 403 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

После того как вы создали и отладили (удалили ошибки) несколько программ, вы уже способны предвидеть ошибки, которые могут встретиться в программе. Например, если ваша программа читает информацию из файла, ей необходимо проверить, существует ли файл и может ли программа его открыть. Аналогично, если ваша программа использует оператор new для выделения памяти, ей необходимо проверить и отреагировать на возможное отсутствие памяти. По мере увеличения размера и сложности ваших программ вы обнаружите, что необходимо включить много таких проверок по всей программе. Из этого урока вы узнаете, как использовать исключительные ситуации C++ для упрощения проверки и обработки ошибок. К концу данного урока вы освоите следующие основные концепции:
Исключительная ситуация (exception) представляет собой неожиданное событие — ошибку — в программе.
В ваших программах вы определяете исключительные ситуации как классы.
Чтобы заставить ваши программы следить за исключительными ситуациями, необ ... Читать дальше »
Просмотров: 562 | Добавил: SLOT85 | Дата: 13.04.2011 | Комментарии (0)

« 1 2 3 4
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Друзья сайта
Баннеры статистики
Обмен баннерами