C++随笔(2007-07-09)

来源:互联网 发布:卫星电视直播软件app 编辑:程序博客网 时间:2024/05/29 16:38

1.关于内存释放的问题.

    都知道,指针使用比较麻烦的,如使用前必须要申请内存,否则使用会溢出,同时使用完毕后要记得释放,否则会产生内存泄露,如果频繁使用,那么泄露的量可以用恐怖来形容,那么怎样实现控制指针呢.

   我觉得,可以这样使用,尽量在开始的位置申请内存,并且同时使用ASSERT来判断.同时在申请内存前,检查是否已经占用内存,如果占用就清除掉,然后在申请,就像这样:

    CCustClass *cust;

    //假定已经提前定义了,上面的说法的前提是cust是一个全局变量,不需要重复声明

    if(cust)

          delete cust;

    cust = new CCustClass();

    ASSERT(cust == NULL);

2.在使用C++的时候,应该这样考虑一个实际的问题(实际上和java讲的面向对象差不多啊,我的java不熟悉,也只能说道这里)

    首先考虑问题的本质是什么.然后,定义一个类来抓住这个本质,并确保这个类能够独立安全的工作,然后在遇到这个本质的时候就使用这个类(甚至可以扩充这个类,根据不同的情况,还可以派生),

    这样,解决问题的方法就是重新编译一次.简单吧!!(当然也不是绝对的).

 

3.包是复用、灵活的载体。

4.内存的使用

    要注意以下几点:

  • 知道要分配多大的内存
  • 不使用超出分配的内存范围外的内存
  • 不再需要时释放内存
  • 只有不再需要时,才释放内存
  • 只释放分配的内存
  • 切记检查每个分配请求,以确保成功申请内存.

5.继承

       继承是一种抽象,它允许程序员在某些时候忽略对象间的差异,而又在其他时候利用这些差异.

6.在类设计中,尽量要使用private变量,然后使用函数(方法)来控制变量.

    如

   class A

   {

       A();

       public

                   int length;

    }

     Class A

    {

          A();

          public

                  int getlength() const;//必须使用const

          private

                  int length;

   }

    后面的就比第一个要要用,要安全.

    这样的好处

    1) 可以控制,类外面来访问变量.

    2) 不知道什么时候会访问这个变量,使用方法后,就知道只有调用这个方法的时候才能访问变量,容易控制.

原创粉丝点击