这样在Map中存结构好不好???

luozhi9 2008-08-01 03:11:01
typedef struct CmdPacket
{
unsigned int nSid;
unsigned short nCHID;
unsigned long beginTime;
unsigned long long devChId;
std::string struser;
std::string devname;
std::string rCVia;
std::string fileName;
}USERPACKET;

typedef std::map< std::string, USERPACKET > HKPVIDEOINFO;


这样在Map中存结构体好不好..\
有什么好方法拿出来共享一下...\
...全文
94 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
junsky2006 2008-08-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 iambic 的回复:]
主要取决于正确性和性能瓶颈在哪里。
但从风格上来说,把std::string这样的东西放到struct里,不是很好的选择。不明白你出于什么理由把C风格和C++风格混在一起。
[/Quote]
我也是这么认为!!
iambic 2008-08-01
  • 打赏
  • 举报
回复
主要取决于正确性和性能瓶颈在哪里。
但从风格上来说,把std::string这样的东西放到struct里,不是很好的选择。不明白你出于什么理由把C风格和C++风格混在一起。
执假以为真 2008-08-01
  • 打赏
  • 举报
回复
存自定义的struct的话,就要自己重写map的operator < 函数。
ftkghost 2008-08-01
  • 打赏
  • 举报
回复
如果要考虑效率的话,尽量把常用的成员放在前面,避免在CPU CACHE中命中失败后导致清空缓存重新从主存中读取数据。
richbirdandy 2008-08-01
  • 打赏
  • 举报
回复
map是用红黑树实现的 一般操作上界都是log(n)
如果要求这样比较稳定的效率可以
不然可以考虑hash_map 平均效率更高 但上界到线形
luozhi9 2008-08-01
  • 打赏
  • 举报
回复
多谢 xkyx_cn
xkyx_cn 2008-08-01
  • 打赏
  • 举报
回复
应该不会有影响,map会自动管理内存

[Quote=引用 2 楼 luozhi9 的回复:]
引用 1 楼 xkyx_cn 的回复:
看程序规模了,一般的规模这样用没什么不好的


像这样用的法,,大概能达到一个什么样的数了...

这样用对服务器长期运行的法,有没有什么影响没有???
[/Quote]
luozhi9 2008-08-01
  • 打赏
  • 举报
回复
up
luozhi9 2008-08-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xkyx_cn 的回复:]
看程序规模了,一般的规模这样用没什么不好的
[/Quote]

像这样用的法,,大概能达到一个什么样的数了...

这样用对服务器长期运行的法,有没有什么影响没有???
xkyx_cn 2008-08-01
  • 打赏
  • 举报
回复
看程序规模了,一般的规模这样用没什么不好的

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧