Evgenii Legotckoi
15 жовтня 2017 р. 02:41

C++ - Підручник 010. Простір імен

На додаток до функцій, класів і перерахувань C++ надає простору імен (namespaces) як механізм управління та контролю за іменами функцій і класів, що повторюються. Наприклад, якщо назвати деякі ваші функції іменами, які перетинаються з іменами функцій у стандартній бібліотеці, Ви отримаєте конфлікт імен, тобто перевизначення функції зі стандартної бібліотеки, що може призвести до невизначеності та помилок у програмі. Завдяки простору імен можна уникнути цієї проблеми, просто помістивши функції в namespace .


namespace My_code 
{
    class complex { /* ... */ };
    complex sqrt(complex);
    // ...
    int main();
}

int My_code::main()
{
    complex z {1,2};
    auto z2 = sqrt(z);
    std::cout << '{' << z2.real() << ',' << z2.imag() << "}\n";
    // ...
};

int main()
{
    return My_code::main();
}

В даному випадку простір My_code дозволяє написати окрему реалізацію функції main() , яка буде викликатись у реальній функції main() , для цього потрібно викликати функцію main() через простір імен My_code .

My_code::main();

Аналогічним способом викликаються функції зі стандартної бібліотеки, наприклад:

std::max(3, 5);

Для того, щоб полегшити собі життя і не писати щоразу std можна використовувати директиву using .

using namespace std;

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up