Die Boost C++ Bibliotheken

Kapitel 14. Boost.Array

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.

Beispiel 14.1. Verschiedene Methoden von 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.