Ich schreibe eine Klasse mit einer Struktur und mit einigen Methoden, die mit multimap arbeiten wird. Die addItemToList-Methode wird eine Struktur in multimap hinzufügen und saveListData-Methode speichert sie auf einer Binärdatei:C++: Wie bekomme ich Zugriff auf Daten in der statischen Multi-Map-Variable gespeichert
class listData
{
public:
struct ItemStruct
{
long int item_id;
int ess_id;
char item_type;
char list_type;
time_t add_date;
};
int addItemToList(long int item_id, char list_type, char item_type = '\0', int ess_id = 0)
{
ItemStruct *pAddingItem = new ItemStruct;
pAddingItem->item_id = item_id;
pAddingItem->list_type = list_type;
pAddingItem->item_type = item_type;
pAddingItem->ess_id = ess_id;
pAddingItem->add_date = std::time(nullptr);
typedef std::multimap<char, struct ItemStruct> ListDataMap;
static ListDataMap container;
container.insert(std::pair<char, struct ItemStruct>(list_type, *pAddingItem));
return 0;
}
int saveListData()
{
// how can I access to data stored in the container static variable?
return 0;
}
};
und dem nächsten Code für die Klasse:
#include <ctime>
#include <iostream>
#include <map>
#include "lists.cpp"
using namespace std;
int main(int argc, char** argv)
{
listData test;
test.addItemToList(10, 's', 'm', 1555);
test.addItemToList(10, 'c', 'm', 1558);
test.saveListData();
}
Wie kann ich den Zugriff auf Daten in der Container statischen Variable gespeichert?