char array in vector speichern
-
Hallo!
Ist es möglich, char Arrays in einem std::vector zu speichern? Ich meine damit
nicht die Zeiger auf das erste Element, sondern die Werte.
Es soll letztendlich folgendes möglich sein:std::vector <unsigned char[4096]> mCharVector; void Fill() { unsigned char Buffer[4096]; mCharVector.push_back(*Buffer) //hier liegt wahrscheinlich der Fehler,aber //Buffer ohne * ist ein Zeiger auf das erste //Element } void Read() { unsigned char Buffer[4096]; Buffer = mCharVector[0]; mCharVector.erase(mCharVector.begin()); }Ich krieg's jedenfalls nicht hin.
-
Nein, geht so nicht...
du musst die 4096 byte scho iwie in nen struct/class packen oder noch mal std::vector oder std::tr1::array oder so was in der richtung verwenden...
oder
std::vector<boost::scoped_ptr<unsigned char>>das das so nciht geht liegt daran, dass in C und C++ CArrays nicht kopiert werden, sondern immer nur ein Zeiger übergeben wird...
bb
-
Danke!
Dacht ich mir. Ich werd's in ne Klasse packen.