map嵌套map
现在有个表需要4个索引才能唯一确定一个记录。
我使用的是map嵌套map。
但是有一句话,如下
《Effective C++》中提到:容器容纳了对象,但不是你给它们的那个对象。此外,当你从容器中获取一个对象时,你所得到的对象不是容器里的那个对象。当你向容器中添加一个对象(比如通过insert或push_back等),进入容器的是你指定的对象的拷贝。因此应该让容器里对象的拷贝操作轻量而行。
那我每次索引到一层的值,都要进行拷贝,效率会后太低。
或者是把map的值改为指针。
大家意见??
//总表,用于存放用户使用软件的行为,更新数据库时就是根据这个表更新的。
typedef struct
{
ID idChan;//视频ID
char chanName[50];//视频名
UINT timelen;//视频时长
char filePath[100];//还原后的视频文件路径
UINT contentLen;//视频文件大小
}chanInfo;
//同一用户,同一使用软件行为,视频信息表
typedef map<idChan , chanInfo> chanInfoMap;
typedef struct
{
ID idAct;//使用软件行为ID
ID maxIdChan;//同一使用软件行为下的当前最大idChan
time_t startTime;//使用软件开始时间
time_t endTime;// 使用软件结束时间
chanInfoMap ciMap;
}actInfo;
//同一用户,使用同一软件,不同使用软件行为,行为信息表
typedef map<idAct , actInfo > actInfoMap;
typedef struct
{
ID idSoftware;//使用软件标识ID
ID maxIdAct;//当前软件标识下,最大的使用软件行为ID
actInfoMap aiMap;
}softwareInfo;
//同一用户,使用不同软件,行为信息表
typedef map< idSoftware, softwareInfo > softwareInfoMap;
typedef struct
{
ID idIP;//用户IP编号
char strIP[16];//用户IP(字符串型,如xxx.xxx.xxx.xxx)
char strID[20];//用户帐号
softwareInfoMap siMap;
}userAction;
//不同用户,用户行为表
typedef map<idIP , userAction>userActionMap;
//用户行为表
userActionMap MUserAction;
我使用的是map嵌套map。
但是有一句话,如下
《Effective C++》中提到:容器容纳了对象,但不是你给它们的那个对象。此外,当你从容器中获取一个对象时,你所得到的对象不是容器里的那个对象。当你向容器中添加一个对象(比如通过insert或push_back等),进入容器的是你指定的对象的拷贝。因此应该让容器里对象的拷贝操作轻量而行。
那我每次索引到一层的值,都要进行拷贝,效率会后太低。
或者是把map的值改为指针。
大家意见??
//总表,用于存放用户使用软件的行为,更新数据库时就是根据这个表更新的。
typedef struct
{
ID idChan;//视频ID
char chanName[50];//视频名
UINT timelen;//视频时长
char filePath[100];//还原后的视频文件路径
UINT contentLen;//视频文件大小
}chanInfo;
//同一用户,同一使用软件行为,视频信息表
typedef map<idChan , chanInfo> chanInfoMap;
typedef struct
{
ID idAct;//使用软件行为ID
ID maxIdChan;//同一使用软件行为下的当前最大idChan
time_t startTime;//使用软件开始时间
time_t endTime;// 使用软件结束时间
chanInfoMap ciMap;
}actInfo;
//同一用户,使用同一软件,不同使用软件行为,行为信息表
typedef map<idAct , actInfo > actInfoMap;
typedef struct
{
ID idSoftware;//使用软件标识ID
ID maxIdAct;//当前软件标识下,最大的使用软件行为ID
actInfoMap aiMap;
}softwareInfo;
//同一用户,使用不同软件,行为信息表
typedef map< idSoftware, softwareInfo > softwareInfoMap;
typedef struct
{
ID idIP;//用户IP编号
char strIP[16];//用户IP(字符串型,如xxx.xxx.xxx.xxx)
char strID[20];//用户帐号
softwareInfoMap siMap;
}userAction;
//不同用户,用户行为表
typedef map<idIP , userAction>userActionMap;
//用户行为表
userActionMap MUserAction;
...全文
相关推荐
嵌套Map或者List获取key、value值
一些特定情况下需要用map或者list嵌套 这里是一个例子 如何获取嵌套中的参数
c++中map的基本用法和嵌套用法实例分析
主要介绍了c++中map的基本用法和嵌套用法,以实例形式分析了map容器的基本使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
Struts iterator JSP Map 中嵌套 Map
NULL 博文链接:https://topbox163.iteye.com/blog/669084
C++中rapidjson将嵌套map转为嵌套json的讲解
今天小编就为大家分享一篇关于C++中rapidjson将嵌套map转为嵌套json的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Struts中List里嵌套Map
NULL 博文链接:https://zhangyulong.iteye.com/blog/1009371


