Я хочу знать, могу ли я записать в файл (совместно используемую память с boost) символ *. Я создал шаблон и прекрасно работает с «int» и «string», но с char * я могу получить к ним доступ в памяти при выполнении программы, но впоследствии данные не сохраняются в файле, как это происходит со вставками и строками.
Типичным фрагментом кода будет: (T будет char *)
//DECLARATIONS
MyMap *mymap;
managed_mapped_file seg = managed_mapped_file(open_or_create, tableName, tablesize);
mymap = seg->find_or_construct<MyMap>("MyMap") //object name
(std::less<T>() //first constructor parameter
,*alloc_inst); //second constructor parameter
//THE METHOD TO ADD THE ENTRIES
template<class T>
void ShareDB<T>::add_ref_info_to_db (const T &Symbol_Index , const std::string &a_info){
MyMap::iterator res = mymap->find(Symbol_Index);
mymap->insert(std::pair<const T, shared_string>(Symbol_Index, localSymbol));
поэтому я вызываю шаблон так:
ShareDB <char *> ex;
ex.openDB(dataBaseName,"TestMutex", 196608, true);
ex.add_ref_info_to_db (a,ex.RefInfoRecord);
Может быть, просто я не могу писать указатели ... Я не уверен ...
Заранее спасибо