Практическое занятие 13. Пространства имен

 

 

Пространства имен предназначены для локализации имен идентификаторов и предотвращения их конфликтов. Среда программирования С++ наполнена большим количеством переменных, функций и классов.

Раньше все их имена пребывали в глобальном пространстве и нередко конфликтовали между собой. Например, если в программе была определена функция abs(), она могла замещать собой стандартную функцию abs(), поскольку имена обеих функций находились в глобальном пространстве имен. Чаше всего конфликты имен возникали, когда программа использовала несколько сторонних библиотек одновременно. Особенно это касается имен классов.

Введение ключевого слова namespace позволило решить эти проблемы. Поскольку пространство имен позволяет локализовать область видимости объектов, объявленных внутри него, одно и то же имя, упомянутое в разных контекстах, больше не вызывает конфликтов.

Наибольшую пользу это нововведение принесло стандартной библиотеке языка С++. Раньше вся стандартная библиотека языка С+ + находилась в глобальном пространстве имен (которое, собственно говоря, было единственным). Теперь стандартная библиотека определена внутри своего собственного пространства имен std, что намного уменьшает вероятность конфликтов.

Программист может создавать свои собственные пространства имен и самостоятельно локализовать имена, которые могут вызывать конфликты. Это особенно важно при разработке классов или библиотек функций.

Ключевое слово namespace позволяет разделить глобальное пространство имен на декларативные области (declarative region). В сущности, пространство имен — это области видимости. Общий вид объявления пространства имен таков.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: