C++/Filozofia STL: Różnice pomiędzy wersjami
poprawki, +tag source |
mNie podano opisu zmian |
||
Linia 27: | Linia 27: | ||
using std::endl; |
using std::endl; |
||
</source> |
</source> |
||
Oczywiście możemy nie używać dyrektywy <tt>using</tt>. Wówczas przed każdym użyciem elementu z biblioteki standardowej, np. |
Oczywiście możemy nie używać dyrektywy <tt>using</tt>. Wówczas przed każdym użyciem elementu z biblioteki standardowej, np. obiektu <tt>cout</tt>, dopisujemy z jakiej przestrzeni nazw pochodzi dany element: |
||
<source lang="cpp"> |
<source lang="cpp"> |
||
std::cout << "Nowa linia i wymuszenie przepływu z bufora" << std::endl; |
std::cout << "Nowa linia i wymuszenie przepływu z bufora" << std::endl; |
Wersja z 11:33, 29 wrz 2010
Biblioteka standardowa języka C++ jest jego częścią i należy do standardu. Uzupełnia sam język logicznymi strukturami czyniąc go bardziej użytecznym. STL (ang. Standard Template Library) jest chyba pierwszą rzeczą jaką trzeba sie nauczyć zaraz po samej nauce języka C++. STL jest pewną częścią biblioteki standardowej należącą do języka C++, a nie całą. Dlaczego warto używać STL? Żeby nie odkrywać koła na nowo mówiąc w skrócie, tworzyć kod przenośny między platformami i wiele innych przyczyn wynikających ze stopnia zaawansowania twojego programowania. W tym artykule postaram się opisać bibliotekę standardową wzorców dla początkujących i najwięcej uwagi poświęcić tym (z mojego punktu widzenia) częściom najbardziej użytecznym i wykorzystywanym do amatorskiego i nie tylko programowania. Zanim zaczniemy poznawać poszczególne kategorie STL musimy poznać tak zwany generalny konspekt przygotowania jej do użycia. Najważniejszymi i niezbędnymi są: dołączanie odpowiednich plików nagłówkowych i korzystanie z przestrzeni nazw. Jeżeli chodzi o pliki nagłówkowe to używamy następującej składni:
#include <iostream>
#include <string>
#include <vector>
// zamiast niepoprawnych:
#include <iostream.h>
#include <string.h>
#include <vector.h>
// aby użyć starej biblioteki z języka C, zapisując to w stylu C++, robimy to tak:
#include <cstdlib> // zamiast <stdlib.h>
#include <cstring> // zamiast <string.h>
// przedrostek 'c' oznacza bibliotekę języka C
Teraz kwestia dotycząca przestrzeni nazw. Zawartość biblioteki standardowej została "włożona" do przestrzeni nazw po to, aby używane tam nazwy, np. metod klas, nie zastrzegały sobie wyłączności na daną nazwę w obrębie całego programu. Przez to, albo dzięki temu, możemy powiadomić kompilator o tym jakiej części chcemy używać. Składnia została przedstawiona poniżej:
// załączamy całą przestrzeń nazw:
using namespace std;
// lub: załączmy tylko wybrane elementy cout i endl:
using std::cout;
using std::endl;
Oczywiście możemy nie używać dyrektywy using. Wówczas przed każdym użyciem elementu z biblioteki standardowej, np. obiektu cout, dopisujemy z jakiej przestrzeni nazw pochodzi dany element:
std::cout << "Nowa linia i wymuszenie przepływu z bufora" << std::endl;