Die Bibliothek Boost.Array stellt in der Headerdatei boost/array.hpp
eine Klasse boost::array
zur Verfügung. boost::array
ist identisch zur Klasse std::array
, die mit C++11 in die Standardbibliothek aufgenommen wurde. Sie können boost::array
ignorieren, wenn Sie in einer C++11-Entwicklungsumgebung arbeiten.
Mit boost::array
ist es möglich, ein Array zu erstellen, das die gleichen Eigenschaften besitzt wie ein herkömmliches C-Array. Weil boost::array
jedoch Anforderungen erfüllt, wie sie an im C++-Standard definierte Container gestellt werden, wird der Umgang mit einem Array ähnlich einfach wie mit jedem anderen Container. Grundsätzlich können Sie sich boost::array
wie std::vector
vorstellen mit dem entscheidenden Unterschied, dass die Anzahl der Elemente in boost::array
konstant ist.
boost::array
#include <boost/array.hpp>
#include <string>
#include <algorithm>
#include <iostream>
int main()
{
typedef boost::array<std::string, 3> array;
array a;
a[0] = "cat";
a.at(1) = "shark";
*a.rbegin() = "spider";
std::sort(a.begin(), a.end());
for (const std::string &s : a)
std::cout << s << '\n';
std::cout << a.size() << '\n';
std::cout << a.max_size() << '\n';
}
Beispiel 14.1 bedarf keiner Erklärungen, da die aufgerufenen Methoden die gleiche Bedeutung haben wie bei std::vector
.