Kurzusok
/
C++
C++
/
Tanterv
/
Névterek
Né

Névterek ebben a kurzusban: C++

3 feladat

A(z) Névterek fogalomról

A kódszervezés egyik fontos módszere a névtér. Előfordulhat, hogy két függvény neve ütközik, amit úgy oldhatsz fel, hogy külön névtérbe teszed őket. A névterek egymásba ágyazhatók, ami segíthet a nagy kódbázisok rendszerezésében. A névterekhez a :: scope-feloldó operátoron keresztül férsz hozzá.

Az alábbi példa két különböző foo függvény használatát mutatja be. Ezeket úgy használod együtt, hogy az egyes hívások elé odaírod a megfelelő névtér nevét.

namespace my_ns {
    int foo() {
        return 44;
    }
    namespace my_inner_ns {
        int baz() {
            return 90;
        }
    }
}
namespace my_other_ns {
    int foo() {
        return -2;
    }
}
int myresult{my_ns::foo() + my_other_ns::foo() * my_ns::my_inner_ns::baz()};
Advanced

A mélyen egymásba ágyazott névterek túlságosan terjengősek lehetnek. A terjengősséget megszüntetheted úgy, hogy a using kulcsszóval importálod a névteret. Ez az összes nevet a globális névtérbe helyezi. Hogy megmaradjon valamennyi megkülönböztetés, hasznosak lehetnek az aliasok.

int my_other_result{my_ns::my_inner_ns::baz()};

using namespace my_ns::my_inner_ns; // importing the complete namespace
int also_other_result{baz()};

namespace m = my_ns; // setting an alias
namespace o = my_other_ns;

int also_my_result{m::foo() + o::foo() * m::my_inner_ns::baz()};
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Névterek fogalmat