如何在内存中建立数组,并且像数据库似的访问.

ruoge2007 2009-08-12 03:52:46
想通过这样的方式返回数据的引用.

AAAA CMediaSrv::GetData( eDataTag eData)
{
switch( eData)
{
case DT_DR:
//CArray<a,a&>型数组
break;
case DT_DB:
//CArray<b,b&>型数组
break;
default:
break;
}
return TRUE;
}
返回类型AAAA应该如何设计呢?或者有没有其它的替代方式呢.我想到用数据库中的记录,但感觉太费时间了吧.
...全文
51 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
soliddream66 2009-08-13
看看Berkeley DB,嵌入式的数据库

数据库没你想象中的花时间,你可以做些实验

千万条数据库组织良好并且查询优化的话,几s的时间而已,但是放到内存中的话至少要占1G内存,而且一旦程序崩溃,这些数据都得不到保存了
回复
whatabig 2009-08-13
Multi Linked list
回复
没太看懂。感觉会用到模板
回复
MoXiaoRab 2009-08-12
你想做什么我都没看懂
回复
stuarts740 2009-08-12
有这个必要吗?
在内存中存那么多东西,都能用到吗?
只把反复要用到的数据缓存即可。
回复
雪影 2009-08-12
可以再GetData中增加一个输出参数啊,用于接收数组指针。
BOOL CMediaSrv::GetData( eDataTag eData,CObject* pArr)
{
switch( eData)
{
case DT_DR:
//CArray <a,a&>型数组
pArr = new CArray <a,&a>;
break;
case DT_DB:
//CArray <b,b&>型数组
pArr = new CArray <b,&b>;
break;
default:
break;
}
return TRUE;
}
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告