Какой класс памяти применять?

Какой класс памяти применять?

     Ответ на вопрос почти всегда один - "автоматический". В конце концов почему этот класс памяти выбран по умолчанию? Мы знаем, что на первый взгляд использование внешних переменных очень соблазнительно. Опишите все ваши переменные как внешние, и у вас никогда не будет забот при использовании аргументов и указателей для связи между функциями в прямом и обратном направлениях. К сожалению, у вас возникнет проблема с функцией С, коварно изменяющей переменные в функции А, а это совсем не входит в паши интересы. Неоспоримый совокупный опыт использования машин, накопленный в течение многих лет, свидетельствует о том, что такая проблема значительно перевешивает кажущуюся привлекательность широкого использования внешних переменных.

     Одно из золотых правил защитного программирования заключается в соблюдении принципа "необходимо знать только то, что нужно". Организуйте работу каждой функции автономно, насколько это возможно, и используйте глобальные переменные только тогда, когда это действительно необходимо.

     Иногда полезны и другие классы памяти. Но прежде чем их использовать, спросите себя, необходимо ли это.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Блоги какой тематики вы ведете? Блоги какой тематики вы хотели бы вести?

Из книги Блоги. Новая сфера влияния автора Попов Антон Валерьевич

Блоги какой тематики вы ведете? Блоги какой тематики вы хотели бы вести? Многие блоггеры или не выделяют одну тему и пишут обо всем понемногу, или описывают свой дневник шутливо: «Да так, попукиваю в воздух».Некоторые блоггеры отвечали, что уже ведут дневники на все


Какой архиватор все же лучший?

Из книги 200 лучших программ для Интернета. Популярный самоучитель автора Краинский И

Какой архиватор все же лучший? Трудно со стопроцентной уверенностью сказать, какой архиватор позволяет получить максимальную степень сжатия. Наиболее вероятно, что из WinAce,WinRAR и 7-Zip лучше справится WinRAR. Однако даже при сжатии файлов одного и того же типа (например,


Самый базовый класс MFC (класс CObject)

Из книги Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT автора Фролов Александр Вячеславович

Самый базовый класс MFC (класс CObject) Подавляющее большинство классов библиотеки MFC наследовано от базового класса CObject, лежащего в основе всей иерархии классов этой библиотеки. Методы и элементы данных класса CObject представляют наиболее общие свойства наследованных из него


Архивный класс (класс CArchive)

Из книги Идиомы и стили С++ автора Makhmutov Albert

Архивный класс (класс CArchive) Класс CArchive используется для сохранения и восстановления состояния объектов в файлах на диске. Перед использованием объекта класса CArchive он должен быть привязан к файлу – объекту класса CFile.Более подробно о процессе сохранения и восстановления


Класс CObject – основной класс MFC

Из книги Практический курс по Тайм Менеджменту автора Абрамовский Иван

Класс CObject – основной класс MFC Подавляющее большинство классов из библиотеки MFC наследуются от основного класса CObject. Практически все классы, которые используются в ваших приложениях, например CView или CWinApp, унаследованы от класса CObject.Класс CObject обеспечивает наиболее общие


Шаг 3 - Как это применять.

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Шаг 3 - Как это применять. Берем код параметризированного класса.template ‹class T›class SmartPointer {private: T* tObj;public: SmartPointer(T* _t=NULL): tObj(_t); ~SmartPointer() {if (tObj) delete tObj;} operator T*(){return tObj;} T* operator-›(){return


Урок №4: Применять методологию GTD( Getting Thing Done)

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Урок №4: Применять методологию GTD( Getting Thing Done) Применять методологию GTD (Getting Thing Done)Getting Things Done GTD — это стратегия управления деятельностью, а также система приемов и техник, цель которой — помочь современному человеку успевать больше, а уставать меньше. Аббревиатура GTD — от


У9.2 Какой уровень утилизации?

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

У9.2 Какой уровень утилизации? Подход на уровне компонентов, если программировать на языке типа Pascal или C, где операционная система предоставляет dispose или free, может напрямую использовать эти операции вместо создания своего списка свободной памяти для каждого типа структур


Какие стили в каких случаях применять

Из книги ПК без напряга автора Жвалевский Андрей Валентинович

Какие стили в каких случаях применять Удачно подобранный набор стилей — результат долгих экспериментов. Нам придется изрядно повозиться, прежде чем мы его получим. Но несколько правил, при- веденных далее, помогут нам получить его заметно быстрее.Прежде всего, следует


Какие стили в каких случаях применять

Из книги Photoshop CS4 автора Жвалевский Андрей Валентинович

Какие стили в каких случаях применять Удачно подобранный набор стилей — результат долгих экспериментов. Нам придется изрядно повозиться, прежде чем мы его получим. Но несколько правил, приведенных далее, помогут нам получить его заметно быстрее.Прежде всего, следует


Класс памяти

Из книги CSS3 для веб-дизайнеров автора Сидерхолм Дэн

Класс памяти В определении функции допускается указание спецификации класса памяти static или extern. Классы памяти функций рассматривались в разделе


Какой компьютер вам нужен

Из книги Разработка ядра Linux автора Лав Роберт

Какой компьютер вам нужен Общие рекомендацииПри выборе вычислительной машины следует опасаться двух крайностей.• Во-первых, есть риск переплатить и купить то, что вам не очень-то и нужно. • Во-вторых, слишком дешевый компьютер может оказаться недостаточно


Какой формат выбрать

Из книги автора

Какой формат выбрать В главе 1 мы уже упоминали о различных форматах графических файлов. Сейчас настало время подробнее разобраться, какой из них имеет преимущество в том или ином случае. Рассмотрим три наиболее популярных формата: TIFF, JPEG и GIF.TIFFИспользовать формат TIFF


Когда применять CSS3

Из книги автора

Когда применять CSS3 В терминах визуального взаимодействия с сайтом можно разбить все на две категории: ключевое и второстепенное (табл. 1.01). Таблица 1.01. Визуальное взаимодействие с сайтом можно разбить на категории ключевое и второстепенное. К второстепенному CSS3 можно


Какой способ выделения памяти необходимо использовать

Из книги автора

Какой способ выделения памяти необходимо использовать Если необходимы смежные страницы физической памяти, то нужно использовать один из низкоуровневых интерфейсов выделения памяти, или функцию kmalloc(). Это стандартный способ выделения памяти в ядре, и, скорее всего, в