Автор работы: Пользователь скрыл имя, 13 Апреля 2013 в 10:28, реферат
Кроме того, имеется возможность получать целую иерархию производных типов данных из указателей, массивов, структур и объединений. Выражения формируются из операторов и операндов. Любое выражение, включая присваивание и вызов функции, может быть инструкцией. Указатели обеспечивают машинно-независимую адресную арифметику. Си, как и любой другой язык программирования, не свободен от недостатков. Уровень старшинства некоторых операторов не является общепринятым, некоторые синтаксические конструкции могли бы быть лучше. Тем не менее, как оказалось, Си - чрезвычайно эффективный и выразительный язык, пригодный для широкого класса задач.
Введение 3
1.Класс CString 4
2.Класс CTime и CTimeSpan 7
3.Класс COleDateTime 10
4.Классы файлов MFC 11
5.Класс CArchive 14
6.Коллекции объектов MFC 18
7.Обработка исключительных ситуаций 21
Заключение 26
Использованная литература 27
Некоторые языки также
допускают специальный блок (else),
который выполняется, если ни одного
исключения не было сгенерировано в
соответствующей области действ
В целом, обработка исключений
может выглядеть следующим
try { line = console.readLine(); if (line.length() = 0) throw new EmptyLineException("Строка, считанная с консоли, пустая!");
console.printLine("Привет, %s!" % line);}catch (EmptyLineException exception)
{ console.printLine("Привет!");}
В некоторых языках может быть лишь один обработчик, который разбирается с различными типами исключений самостоятельно.
В некоторых языках, например Си или Перл, нет встроенной обработки исключений.
Проверяемые исключения
Изначально (например, в C++), исключения не являлись обязательными для обработки. Если какое-либо исключение не обрабатывается, то есть если для него нет обработчика в стеке вызова, или обработчик выбросил исключение заново, то выполнение программы прерывается.
В более новых языках, например в Java, наряду с «классическими» появились "проверяемые исключения ". Обрабатываемость таких исключений проверяется компилятором. Метод, в котором оно может возникнуть (в том числе и в вызываемых методах) обязан либо обработать его, либо объявить, что может выбросить такое исключение.
Преимущества и недостатки
Проверяемые исключения снижают количество ситуаций, когда исключение, которое могло быть обработано, вызвало критическую ошибку в программе, поскольку за наличием обработчиков следит компилятор. Это может быть особенно полезно, если метод, который не мог выбрасывать исключение типа X стал это делать: компилятор автоматически отследит все случаи его использования и проверит наличие соответствующего обработчика.
Однако, у проверяемых исключений есть и недостатки. Во-первых, они часто «заставляют» обрабатывать то, с чем программист в принципе справиться не может, например ошибку ввода-вывода в веб-приложении. Это приводит к появлению «глупых» обработчиков, которые не делают ничего или выводят стек вызова исключения и, в итоге, только замусоривают код. Во-вторых это делает невозможным добавление нового проверяемого исключения в методе, описанном в библиотеке, поскольку это нарушает обратную совместимость. (Это верно и для небиблиотечных методов, но в этом случае проблема менее существенна).
В итоге, многие библиотеки объявляют все методы как выбрасывающие некоторый суперкласс исключений (например, Exception). В результате, компилятор «заставляет» писать обработчики исключений даже там, где они, казалось бы, не нужны.
Заключение
Таким образом, классы общего назначения предназначены для хранения и обработки данных. Каждый из них имеет свой прототип и описан в стандартных библиотеках Си. Классы общего назначения существенно упрощают многие операции с данными (в частности, строками) и тем самым помогают сократить написание тех или иных операций.
Использованная литература
Электронные ресурсы:
1. http://frolov-lib.ru/
2. http://www.codenet.ru/
3. http://dic.academic.ru/
4. http://ishodniki.ru/
Книжные издания:
1. Круглински Д., Уингоу С., Шеферд Дж. Программирование на Microsoft Visual C++ 6.0 для профессионалов
2. Герберт Шилдт C++: базовый курс, 3-е издание