Мне нужно что-то вроде std::map<std::string, CCriticalSection>
, но CCriticalSection нельзя копировать. Вместо CCriticalSection
я думал, что могу использовать CRICITAL_SECTION
, но также невозможно копировать или перемещать объекты этого типа. Поскольку это очень старый проект, я не могу использовать MFC и VC6. Я хотел бы получить доступ к объектам синхронизации следующим образом (следующий код не работает и является просто идеей, как я хотел бы использовать словарь):
// global variable
std::map<std::string, CCriticalSection> csec;
unsigned int somefunc(std::string ip)
{
CSingleLock lock(&csec[ip], TRUE);
// do something
}
Итак, мой вопрос: как сделать словарь объектов синхронизации с помощью MFC и VC6?
Спасибо за ваши ответы!