【发布时间】:2014-07-24 17:07:47
【问题描述】:
我需要在共享内存中创建一个结构。这是类的一个示例:
struct A{
std::string str1;
int val;
}
struct B{
A inner;
std::string name;
}
我在网上找不到这样的例子,但经过一番搜索后,我发现我可能需要实现一些分配器,并且字符串之类的类型不应该被用作裸露的, 所以我为字符串创建了一个分配器,如下所示:
typedef allocator<char, ip::managed_shared_memory::segment_manager> char_alloc
class String2: public ip::basic_string<char, std::char_traits<char>, char_alloc > { public:
String2(char_alloc& _all): ip::basic_string<char, std::char_traits<char>, char_alloc >(_all) {;} };
但是现在我在试图理解如何创建一个对两个类都像这样工作的分配器时遇到了一些问题。
有人有类似的例子吗?
提前致谢
【问题讨论】: