wenn ich eine klasse habe
Code: Alles auswählen
class soundso{
private:
static int statischeVariable;
}
Code: Alles auswählen
class soundso{
private:
static int statischeVariable;
}
Code: Alles auswählen
private:
static QVector<FormatInfos> formats;
Code: Alles auswählen
QVector<FormatInfos> SevenZipLibrary::formats;
QVector<FormatInfos> *MyLibrary:getFormatInfos()
{
return &formats;
}
Code: Alles auswählen
#include "mylibrary.h"
QVector<FormatInfos> = MyLibrary::getFormatInfos();
statics sollten meiner bescheidenen Meinung nach weitgehend vermieden werden, insbesondere in multithreading Applikationen. Sie sind - insbesondere wenn sie nicht private sind - recht fehleranfällig und blöd zu debuggen.Das schließt natürlich ein, dass du von dort auch auf die Variable schreiben kannst. Aufpassen musst du nur, wenn du Multithreadet Anwendungen schreibst, dann darf der Zugriff nur einmal erlaubt werden.