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

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) 不知道什么时候会访问这个变量,使用方法后,就知道只有调用这个方法的时候才能访问变量,容易控制.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

six2me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值