1.首先,想要写一个好程序,就得记住一件事,先设计一个好的数据结构!
2.其次,语法细节……为什么出问题,是因为写得不够好!
今天调试一个程序,因为,vector 的默认范围太大,造成了释放栈的时候多释放了一部分……悲剧了一下午。
映射用的hash表和被影射的数组没有放到同一个类中,导致传数据的时候失去了一致性,没办法,重新设计类,将参数组合。
还有,关于类的向前引用声明,声明后,下面的类可以使用它的引用,指针,不可以使用它作为元素,会报错。
class tempA
class tempB {
tempA myA; //错误 !!!
tempA* right; // 可以的
tempA &left; // 可以的
};
因为在这里,仅仅是告诉编译器,这个符号在下面声明了,需要占个位置,编译器不知道具体长度,所以不能声明一个tempA类型的变量,因为无法分配空间。
然后,设计类的时候小心不要让两个类出现互锁的情况。就是互相声明对方的实体。或者使用对方的实体。