003
26.11.2009, 21:19 Uhr
0xdeadbeef
Gott (Operator)
|
std::tr1::array ist im Grunde nicht viel mehr als
C++: |
template<typename T, std::size_t I> struct array { T elem[I]; };
|
mit ein paar Funktionen, die dem Array das Interface eines STL-Containers verleihen. TR1 schreibt ausdrücklich vor, dass std::tr1::array die Anforderungen eines Aggregats nach 8.5.1 im ISO-C++-Standard zu erfüllen hat, d.h., keine benutzerdefinierten Konstruktoren oder Destruktoren, keine virtuellen Funktionen, keine privaten Member, keine Basisklassen, damit (ebenfalls nach 8.5.1) eine solche Initialisierung möglich ist.
Wenn der MSVC sich da nicht mit einer Ausnahme rumdrückt, werden die Konstruktoren, die in der MSDN beschrieben sind, implizit sein. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 26.11.2009 um 21:20 Uhr von 0xdeadbeef editiert. |