C++/Przestrzenie nazw: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
zamiana ProstaNawigacja->Subst:Naw
Mythov (dyskusja | edycje)
m →‎Przestrzenie nazw: drobne poprawki
Linia 60:
Za pomocą <tt>using std::endl</tt> poinformowaliśmy kompilator, że używany przez nas znak końca linii (czyli <tt>endl</tt>), znajduje się w przestrzni nazw <tt>std</tt>. Dzięki temu możemy zamiast <tt>std::endl</tt> spokojnie pisać <tt>endl</tt> (nie powinno być problemów także wtedy, gdybyśmy napisali <tt>std::endl</tt>). Nie wykonaliśmy tej analogicznej operacji na elemencie <tt>cout</tt> (ściślej nie wstawiliśmy instruckji <tt>using std::cout</tt>), więc musimy go dalej poprzedzać nazwą tej przestrzeni.
 
Ale właściwie do czego są używane przestrzenie nazw? Przede wszystkim zapewniają pewien komfort programiście. Pisząc jakąś np. pewnąjakąś funkcję, nie musimy się martwić jak się ją nazwie, ponieważ raczej nie spowoduje to żadnych kolizji nazw z nazwami innych funkcji, które na przykład znajdują się w innych bibliotekach (no chyba, że dana nazwa jest już zajęta w pewnejużywanej przestrzeni nazw). Możemy w obrębie różnych przestrzeni nazw tworzyć funkcje o takich samych nazwach i deklaracjach, ale robiące zupełnie inne operacje!
 
=== Tworzenie własnej przestrzeni nazw ===