Wie deklariere und setze ich eine Membervariable für eine Vorlagenklasse AClass vom Typ std::array<T, ?>
(mit nicht definierter Größe)? Das tatsächliche std::array
wird im Konstruktor erstellt, wobei die Größe des Arrays ein Konstruktorparameter ist.
In Pseudo-C ++ - Code:
%Vor%Wie würde der Code aussehen?
Benutze std::array
nicht dafür, benutze std::vector
. Die Größe von std::array
muss eine Kompilierzeitkonstante sein. Wenn Sie es im Konstruktor übergeben möchten, müssen Sie std::vector
verwenden.
Getrennt von der Verwendung von std::vector
, wenn die Größe zur Laufzeit wirklich definiert ist, können Sie auch die Größe zum Zeitpunkt der Kompilierung angeben (z. B. den maximal möglichen Wert je nach Problem) und den Template-Parameter an Clients weitergeben deiner Klasse zB
Sie verwenden es dann so:
%Vor%