C++ 向前引用声明

来源:互联网 发布:千方百计软件教学视频 编辑:程序博客网 时间:2024/04/27 19:46

1.首先,想要写一个好程序,就得记住一件事,先设计一个好的数据结构!

2.其次,语法细节……为什么出问题,是因为写得不够好!

 

今天调试一个程序,因为,vector 的默认范围太大,造成了释放栈的时候多释放了一部分……悲剧了一下午。

 

映射用的hash表和被影射的数组没有放到同一个类中,导致传数据的时候失去了一致性,没办法,重新设计类,将参数组合。

 

还有,关于类的向前引用声明,声明后,下面的类可以使用它的引用,指针,不可以使用它作为元素,会报错。

 

class tempA

 

class tempB {

    tempA  myA;  //错误 !!!

    tempA*   right; //  可以的

    tempA    &left;  // 可以的

};

 

因为在这里,仅仅是告诉编译器,这个符号在下面声明了,需要占个位置,编译器不知道具体长度,所以不能声明一个tempA类型的变量,因为无法分配空间。

 

然后,设计类的时候小心不要让两个类出现互锁的情况。就是互相声明对方的实体。或者使用对方的实体。

原创粉丝点击