Boost – Array

Matthew @ 2009-07-30 — Kategorie: Boost, C++, Programowanie, Techblog

Dzisiaj trochę inny temat, a mianowicie Boost. Czym jest Boost chyba nie muszę tłumaczyć, a Ci którzy nie wiedzą niech zajrzą tutaj. Na początek coś prostego: biblioteka Array.

Biblioteka Array wchodzi w skład TR1, jest kontenerem (takim jak vector), który (w przeciwieństwie do vector) ma za zadanie trzymać tablicę o stałym rozmiarze. Można ją inicjalizować jak zwykłą tablicę, nieinicjalizowana będzie posiadała „śmieciowe” wartości. Jeżeli przy inicjalizacji podamy mniej wartości niż rozmiar naszej tablicy, to pozostałe elementy zostaną wypełnione wartościami dymyślnymi:

A teraz jakie możliwości dostarcza nam klasa Array. Oczywiście są to iteratory, zarówno „normalne” jak i odwrotne:

Możemy również się dowiedzieć czegoś na temat rozmiarów tablicy:

Czymże by była tablica bez możliwości dostania się do poszczególnych elementów?

różnica między operatorem [] a metodą at() jest taka, że at() sprawdza czy nie przekroczyliśmy zakresu, a jeżeli tak to rzuca wyjątek std::range_error. Są jeszcze metody jak front() oraz back(), które zwracają referencję, odpowiednio, pierwszego i ostatniego elementu tablicy. Oprócz tego mamy jeszcze dwie metody zwracające wskaźnik do tablicy:

Do tego dostajemy jeszcze możliwość zamiany tablic między sobą oraz wypełnienia ich konkretną wartością:

Oczywiście tablice muszą być takich samych rozmiarów i typów. Mamy jeszcze odpowiednie operatory porównania (==, !=, <, >, <=, >=), ale chyba nie ma sensu się nad nimi rozpisywać. Każdy powinien wiedzieć jak z nich korzystać. :)

 

Komentarze:

może coś jeszcze o boost? Czemu to takie popularne i potrzebne(coś praktycznego) + kolejne biblioteki? Wygląda na bardzo przydatne ;-)

Dodaj komentarz:

 

Subscribe without commenting