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

Usunięta treść Dodana treść
Delimata (dyskusja | edycje)
m lit.
Linia 58:
</pre>
 
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 przestrzniprzestrzeni 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 instruckjiinstrukcji <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 np. 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 uż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!
Linia 222:
Zauważmy, jak prosto się korzysta zmienną typu <tt>string</tt> (dla wtajemniczonych jest to pewna klasa). Jeśli chcemy dodać dwa napisy, wystarczy wykorzystać operator <tt>+</tt>. Możemy także wykorzystywać operator <tt>+=</tt>, jeśli chcemy dokleić do tekstu dodatkowy napis.
 
Podając swoje imię jako <tt>Zdzichu</tt>, a emaile-mail jako <tt>zdzichu@zdzichowo.mars</tt>, zobaczymy wynik:
 
Podaj swoje imie: {{Kolor|rgb(0,120,0)|Zdzichu}}