Пространство имен std

Не пойму, как работает пространство std? Типа, есть много файлов с различными функциями/классами, а std объединяет их, как? Есть отдельный файл этого пространства, в который подключаются заголовочные файлы функций/классов, а потом добавляются в это пространство?


Ответы (1 шт):

Автор решения: Serge3leo

C++ namespace пополняются "децентрализованно", грубо говоря, это такие сущности, которые больше смахивают на атрибуты.

К примеру, хотя это и запрещено (почти undefined behavior), но для иллюстрации того как устроены большинство современных файлов заголовков, Вы сами можете его пополнить функцией std::add_std_():

#include <iostream>
namespace std {
    void add_std_() {
        cout << "Привет из std\n";
    }
}
int main() {
    std::add_std_();
    return 0;
}
→ Ссылка