自己编程总结点小经验

 1.如果一个类占用的内存比较大,那么在其他类中,如果它做为数据成员,那么最好把它写成指针的形式,这样,使用它的类占用的空间就小了.但是写成指针形式经常容易出错误,需要熟练了才可以.

 

2.如果自己声明了构造函数,那么编译器是不会再为这个类创建default构造函数的(default构造函数:也就是class e1这种的)。

 

3.如果QVector容器中需要改变其中的元素,就不能用.at函数,直接用[]符,如果用.at函数,会出现类似如下的错误:

error C2662: 'QVector<T>::append' : cannot convert 'this' pointer from 'const QVector<T>' to 'QVector<T> &'

error C3892: 'gridID' : you cannot assign to a variable that is const

 

4.在使用QVector的时候,如果没有指定它的长度就想调用.at函数或者[]操作符,会出现越界错误,需要首先调用resize()函数进行指定长度.如果不指定长度的可以调用append函数在容器末尾进行添加.

 

5.静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。在类中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象中共享的成员,而不是某个对象的成员。
  使用静态数据成员可以节省内存,因为它是所有对象所公有的,因此,对多个对象来说,静态数据成员只存储一处,供所有对象共用。静态数据成员的值对每个对象都是一样,但它的值是可以更新的。只要对静态数据成员的值更新一次,保证所有对象存取更新后的相同的值,这样可以提高时间效率。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章