今天想到索引永久化保存。这个就意味这索引中存放的不能是地址的值。这样再还原就会出现问题。
又想是否可以存相对位置,但是这样又要改AList类中的remove方法。否则删除一行,本行以下的所有的行的相对位置都变化了。后来准备做一个亚元来代替删除行记录。
想象HashTable对于等值比较速度非常快,但是对于大于小于等操作,HashTable基本就无用了。那就可以直接用红黑树来代替。这样做也做到了底层数据结构和用户接口的无关性。用户不必自己选择使用哪种数据结构来建立索引。
今天碰到一个问题:vs2005调试的时候监控的变量的值总是会变的莫名其妙。后来发现是使用了release而不是debug.晕.........
又碰到一个c++的问题:
void DividWhereSet(char * pStrWhereSet, char * pStrColumnName, char * oper, char * pValue);我在函数体内改动了pStrColumnName和pValue的值。但是编译器就有问题了。后来改成:
void DividWhereSet(char * pStrWhereSet, char ** pStrColumnName, char * oper, char ** pValue);原因是改变了指针的地址,那么还是用指针的指针来改变,否则又犯了传值的毛病......
明天又要上文件检索课。连续上三天然后考试。