Стефан Дэвис - С++ для чайников .
- Название:С++ для чайников .
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс. Компьютерное издательство Диалектика
- Год:2007
- Город:Москва
- ISBN:0-7645-6852-3, 978-5-8459-0723-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стефан Дэвис - С++ для чайников . краткое содержание
1
empty-line
4
С++ для чайников . - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
После того как вы интенсивно поработаете с языком С++ по меньшей мере несколько месяцев, можете начинать перегружать операторы как вам заблагорассудится.
►Работа с кучей...334
Основное правило, касающееся кучи, заключается в том, что выделение и освобождение памяти из кучи должно происходить на одном уровне. Если функция-член MyClass::create( ) выделяет блок памяти и возвращает его вызывавшему коду, то должна существовать и функция MyClass::create( ) , которая освобождает блок памяти, возвращая его в кучу. MyClass::create( ) не должна требовать от вызывающей функции самостоятельного освобождения памяти. Это, конечно, не помогает избежать всех проблем ( например, вызывающая функция может просто "забыть" вызвать MyClass::create( ) ), однако всё же снижает вероятность их возникновения.
_________________
334 стр. Часть 6. Великолепная десятка
►Используйте для обработки ошибок исключительные ситуации...335
Механизм исключений введён в С++ специально для удобства и эффективности обработки ошибок. Вы должны использовать именно его, а не возврат определённых значений в случае ошибки. Такой код легче писать, читать и поддерживать. Конечно, подходить к вопросу надо разумно — так, нет необходимости генерировать исключение в функции, которая возвращает индикатор "не работает" в половине вызовов.
►Избегайте множественного наследования...335
Множественное наследование, как и перегрузка операторов, на порядок усложняют программу, что совсем не нужно начинающему программисту. Большинство отношений реального мира могут быть выражены с помощью одиночного наследования ( некоторые утверждают, что множественное наследование вообще не нужно, но я не из таких ).
В любом случае вы можете спокойно использовать классы с множественным наследованием из коммерческих библиотек, например классы Microsoft MFC.
Лишь убедившись в том, что вы твёрдо понимаете концепции С++, можно начинать экспериментировать с множественным наследованием. Вы будете уже достаточно подготовлены к неожиданным ситуациям, которые могут возникнуть при использовании этого механизма.
_________________
335 Глава 29. Десять способов избежать ошибок
Глава 30. ДЕСЯТЬ ОСНОВНЫХ ВОЗМОЖНОСТЕЙ DEV-C++...336
ОГЛАВЛЕНИЕ
В этой главе...
►Настройка редактора по вашему вкусу 336
►Подсветка парных скобок 337
►Включение обработки исключений 337
►Включение отладочной информации 338
►Создание файла проекта 338
►Настройка справки 338
►Переустановка точек останова после редактирования файла 339
►Избегайте некорректных имён файлов 339
►Включите заголовочные файлы в ваш проект 339
►Работа с профайлером 339
В этой главе рассматриваются некоторые установки Dev-C++, которые могут облегчить ваш программистский труд. Здесь мы также коснёмся вопроса о профайлере Dev-C++.
►Настройка редактора по вашему вкусу...336
Программирование должно доставлять удовольствие. В С++ и так достаточно сложностей, поэтому постарайтесь сделать всё возможное, чтобы работа с редактором приносила вам как можно больше радости. Для этого в Dev-C++ воспользуйтесь командой меню Сервис => Параметры редактора( ToolsoEditor => Options), которая позволяет изменить настройки редактора.
Начнём с наиболее незначительных установок. Например, можно установить табуляцию, которая будет соответствовать четырём пробелам, и ширину строки, равную 60 символам ( эти параметры вы, безусловно, можете изменить на свой вкус ).
Флаг Подсветка синтаксиса( Syntax Highlighting) заставляет редактор выделять различным цветом слова в вашей программе — в зависимости от того, что они собой представляют: комментарий, ключевое слово, идентификатор и т.д. Многоцветность текста может сначала казаться раздражающей, но в конечном итоге она оказывается очень полезной. Вы можете поменять используемые цвета по своему усмотрению.
Опция Автоотступ( Auto Indent) оградит вас от вбивания необходимого количества пробелов или табуляций в начале строки для выравнивания текста и получения красивого отступа — редактор сделает это за вас, как только вы нажмёте клавишу . К сожалению, редактор не понимает, что при закрывающей скобке, например, надо уменьшить уровень отступа. Однако к вашим услугам есть опция Backspace — обратный отступ( Backspace Unindents).
_________________
336 стр. Часть 6. Великолепная десятка
Обычно я отменяю опцию Использовать табуляцию( Use Tab Character), что заставляет редактор для позиционирования курсора использовать пробелы и только пробелы. В основном я делал это потому, что постоянно переносил текст из редактора Dev-C++ в текстовый редактор, в котором готовил данную книгу.
►Подсветка парных скобок...337
Опция Подсвечивать парные скобки( highlight matching braces/parenthesis) также находится в рассмотренном в предыдущем разделе окне параметров редактора. Если эта опция установлена, редактор Dev-C++ находит при вводе закрывающей скобки соответствующую открывающую. Кроме того, когда выбираете открывающую или закрывающую скобки, Dev-C++ изменяет соответствующую скобку, выделяя её шрифтом.
Эта возможность редактора оградит вас от ошибок при вводе скобок. В процессе ввода программы вы можете забыть о закрывающей скобке, так что возможность во время ввода текста убедиться, что всё в порядке, оказывается далеко не лишней.
В Dev-C++ 4.9.8.0 имеется, однако, один серьёзный недостаток: вы не можете открыть модуль, в котором количество открывающих скобок превышает количество закрывающих. Похоже, что при открытии .срр -файла редактор сканирует его содержимое и "зависает", будучи не в состоянии найти необходимое количество закрывающих скобок.
Таким образом, если при открытии исходного файла Dev-C++ кажется зависшим, попытайтесь сделать следующее.
24. Завершите работу Dev-C++, для чего нажмите клавиши , выберите в появившемся окне опцию Task Manager, а в его окне — Dev-C++. После этого щёлкните на кнопке End Task.
25. Запустите Dev-C++ без открытия файла.
26. Отмените опцию Подсвечивать парные скобки( highlight matching braces/parenthesis).
27.Откройте ваш файл.
Последнюю версию программы вы найдёте на Web-узле www.bloodshed.net — возможно, в более новой версии эта ошибка исправлена.
►Включение обработки исключений...337
Обработка исключений рассматривалась в главе 25, "Обработка ошибок и исключения". Воспользуйтесь командой меню Сервис => Параметры компилятора( Tools => Compiler Options) и в открывшемся диалоговом окне выберите вкладку Настройки( Settings). В левой части окна выберите Генерация кода( Code Generation), и убедитесь, что флаг Включить обработку исключений( Enable exception handling) установлен равным Yes( значение по умолчанию — No).
Читать дальшеИнтервал:
Закладка: