#namespace

wszystkie notatki oznaczone etykietą "namespace"

Korzystanie z przestrzeni nazw w C++

Dziś chciałbym pomarudzić o tym jak to genialni programiści olewają i ignorują istnienie tak przydatnego i niezastąpionego wynalazku w C++ jakim są przestrzenie nazw, które rozwiązują problemy kolizji nazw. Problem kolizji nazw jest szczególnie znany osobom programującym w C i innych językach, gdzie istnieje jedna globalna przestrzeń dla wszystkich nazw i identyfikatorów. Utrudnia to pisanie programów i odrębnych modułów. Do rozwiązania takiego problemu można użyć wiele różnych sposobów i mechanizmów. Jednym z nich (najpopularniejszym) jest stosowanie różnych wymyślnych prefiksów i sufiksów do definiowanych nazw zmiennych i funkcji.

Czytaj dalej

Aliasy przestrzeni nazw

Nie wszyscy pewnie mają świadomość, że w C++ istnieje możliwość definiowania aliasów dla przestrzeni nazw. Coś jak typedef dla namespace ;) Mechanizm ten pozwala na przypisanie innej nazwy dla istniejącej już przestrzeni nazw. Szczególnie użyteczne przy długich nazwach, gdzie pozwala unikać ciągłego wpisywania tych nazw: namespace my_long_namespace_name { int i; } my_long_namespace_name::i = 5; namespace my = my_long_namespace_name; my::i = 5; lub zagnieżdżonych przestrzeniach: namespace my_long_namespace_name { namespace my_utils { void f() { // .

Czytaj dalej