chikik
@chikik
Начинающий программист. Немного туп, немного глуп.

Библиотека и пространство имен. В чем разница?

Почему библиотека и пространство имен в C++ это не одно и то же. И библиотека и пространство имен содержат в себе функции и операторы созданные другими программистами, как я понял. Например, "iostream" содержит в себе определённые функции и "std" содержит в себе функции, но iostream - библиотка, а std - пространство имен. Может я не так читал или не уловил смысл. Объясните пожалуйста какая между ними разница?
  • Вопрос задан
  • 1395 просмотров
Решения вопроса 1
@TheCalligrapher
У вас у наблюдается какая-то странная терминологическая каша.

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

Во-вторых, нет никакой "библиотеки iostream" и никогда не было. Почему вы вдруг называете "iostream" "библиотекой"? В С++ существует стандартный заголовок <iostream>, содержащий описания сущностей из стандартной библиотеки языка С++. Но заголовок - это совсем не библиотека. Никто не считает <iostream> "библиотекой". Почему вы вдруг это делаете?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SimonMiler
@SimonMiler
Junior
В библиотеке может быть много пространств имён!
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Когда вы пишите код, то вы работаете с пространством имен.
После того как вы собрали свою программу и запустили ее, программа работает с библиотекой, там уже нет никаких пространств имен.
В библиотеке может быть несколько пространств имен или не одного (точнее вся библиотека размещается в одном глобальном пространстве имен).

Если опуститься ниже, то библиотека это файл *.dll и/или *.lib (для винды), пространство имен объявляется в *.h файлах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы