Персистентность станд.:: карта в C++

Вы не изменяете ничего, связанного с пользовательским интерфейсом кнопки в вашем коде Java, так что нет, это не из-за кода Java. Это связано с XML.

Ваш фон кнопки является нарисованным с именем «rounded_button», но вы не опубликовали содержимое этого нарисованного файла. Таким образом, все, что мы можем сделать, это угадать, что нарисованный округленный_белок белый?

9
задан lurks 24 May 2009 в 03:35
поделиться

3 ответа

Я полагаю, что библиотека Boost Serialization способна к сериализации станд.:: карта, но сама стандартная библиотека не обеспечивает средств. Сериализация является большой библиотекой с большим количеством функций и проста в использовании и расширяться на Ваши собственные типы.

11
ответ дан 4 December 2019 в 09:15
поделиться

Если бы Вы хотите сделать это вручную, тот же путь, Вы сохранили бы любую другую контейнерную структуру, выписали бы отдельные части к диску:

outputFile.Write(thisMap.size());
for (map<...>::const_iterator i = thisMap.begin(); i != thisMap.end(); ++iMap)
{
    outputFile.Write(i->first);
    outputFile.Write(i->second);
}

и затем считайте их, въезжайте задним ходом:

size_t mapSize = inputFile.Read();
for (size_t i = 0; i < mapSize; ++i)
{
    keyType key = inputFile.Read();
    valueType value = inputFile.Read();
    thisMap[key] = value;
}

Очевидно, необходимо будет заставить вещи работать на основе типа карты и файла i/o библиотека.

Иначе попробуйте сериализацию повышения или новую библиотеку сериализации Google.

10
ответ дан 4 December 2019 в 09:15
поделиться

Ответ является сериализацией. Специфические особенности зависят от Ваших потребностей и Вашей среды. Для начала, библиотека Boost Serialization выезда: http://www.boost.org/doc/libs/1_36_0/libs/serialization/doc/index.html

2
ответ дан 4 December 2019 в 09:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: