求助:用什么代替vector最好?
我需要存储一些数据,数据总量会随着计算变大,且要进行搜索、删除等操作。之前我用的vector,我觉得写代码的时候蛮方便,但是用vector不好的一点就是经常出错,越界呀等等的。而且我是vector潜逃vector,似乎效率也不高。想将部分换成数组存储数据,但又遇到数组大小要变动的问题。
小女子新手,不知道描述清楚了没有?
请求达人指点。
[解决办法]
1、把所有的下标操作改成vector::at(),就会知道啥时候越界了。
2、不要vector套vector。
3、数据量大,且搜索删除频繁的情况下,用数据库。
[解决办法]
[解决办法]
仅供参考
- C/C++ code
//使用动态分配#include <stdio.h>#include <stdlib.h>#include <malloc.h>int i,L;char *p;void main() { for (i=0;i<20000;i++) { L=rand(); p=malloc(L); if (NULL==p) { printf("malloc error!\n"); continue; } memset(p,0,L); free(p); }}//不使用动态分配#include <stdio.h>#include <stdlib.h>#include <memory.h>#define MAXLEN 30000int i,L;char buf[MAXLEN];char *p;void main() { p=&buf[0]; for (i=0;i<20000;i++) { L=rand(); if (L>MAXLEN) { printf("L>MAXLEN==%d, ignore spilth.\n",MAXLEN); L=MAXLEN; } memset(p,0,L); }}
[解决办法]
干脆用“数据库+SQL”不行吗?