Дополнение Исключительная ситуация exception — Это состояние ошибки,
Дополнение
Исключительная ситуация exception - Это состояние ошибки, обнаруженное в программе в ходе ее выполнения (деление на ноль, невозможность выделения памяти при создании нового объекта и т.д. )
try – контролируемый блок throw - генерация искл. ситуации внутри try throw(любой) catch – обработчики исключений, идут за try
Перехват исключений
Запуск исключений
Выполнение текущей функции прекращается Созданные авто переменные уничтожаются Управление передается в точку вызова функции В точке возврата создается та же исключ ситуация и т.д. Управл предается в обработчик исключений
Пространство имен. для решения проблемы совпадения имен механизм, называемый пространством имен
namespace [идентификатор] { описание для этой рабочей области } using namespace [идентификатор]
квалифицированное имя состоит из идентификатора пространства имен и идентификатора объекта, разделенных оператором разрешения области видимости или контекста (::). NAME::b=2; NAME:: fun(str,NAME:: a);
неквалифицированное имя using namespace имя using namespace NAME // NAME::b=2 b=2; // NAME:: fun(str,NAME:: a); fun(str,a);
селективная директива using Ключевое слово using как объявление using имя::член обеспечивает более подробное управление именами, переносимыми в пространство имен
namespace spaceA { int MyVal=10; } namespace spaceB { int MyVal=20; } namespace spaceC { int MyVal=30; }
Вложенные контексты пространства имен
Управление конфигурациями проекта в Visual Studio 2010 Конфигурация - набор параметров компилятора, компоновщика и библиотекаря, используемый при построении проекта. По умолчанию: Debug (отладочная) и Release (финальная)
Debug (отладочная) включение полной символьной отладочной информации выключенная оптимизация Release (финальная) не содержит никакой отладочной информации (м.б. - > .pdb) подвергается полной оптимизации
.pdb
Макросы особый тип команд препроцессора — специальной программы, которая обрабатывает весь исходный код программы перед тем, как он будет передан компилятору
Отладочный макрос ASSERT ASSERT (assertion - утверждение) а) функция — вызвать аварийную остановку (гарантируя запись/выдачу соответствующей информации) б) автоматически исчезают из релизного кода. (!!!!макрос ASSERT работает только в отладочной версии программы)
void assert(expression); печатает диагностическое сообщение и завершает вызванный процесс, если expression ложно, 0. Assertion failed: file , line ,
Макрос TRACE Чтобы сообщения программы отображались в окне "Вывод" отладчика
Макроподстановка #define имя замещающий текст Имена в #define Область действия #define
Примеры
#define идентиф-ор(парам-ы) стр_с_парам-и
#undef #undef getchar int getchar (void) {…}
Условная компиляция управляет ходом препроцессирования (выборочное включение) // ifndef - истина если не был опред.
вычисляется предикат условия в #if (не должно sizeof и enum) если не ноль, то будут включены все послед строки до #endif #elif #else
11-lekciya_10_dopolnenie.ppt
- Количество слайдов: 38