您的位置:首页 > 编程语言 > C语言/C++

2014年3月份c++复习总结

2014-03-10 22:58 246 查看
1. 异或的使用 (当只有一个为1时候,才为1)

    unsigned char ucParm1 = 0x01;

    unsigned char ucParm2 = 0x02;

    unsigned char result = ucParm1 ^ ucParm2; //结果为3

2。内联函数的好处 inline

分为两个部分:

   1)构建个函数出来,能够好理解;

   2)但是函数调用会导致效率降低,内联能够使得编译时候直接进代码,效率高。

  3.delete []p 与 delete p 区别

    前者释放全部的数组,后者只释放第一个内存

   class tmp

{

public:

    tmp()

    {

        m_p = new char[1024*1024];

    };

    ~tmp()

    {

        delete  m_p;

    }

private:

    char *m_p;

};

void main()

{

    for (int i = 0; i < 100; i++)

    {

        tmp *p=new tmp[20];

        delete [] p;  //无异常,能够执行100次

        //delete  p;  //d异常,只能够    ~tmp()一次,而没有执行19个~tmp(),且后续的99次循环不执行

    }    

}

综上测试, delete [] p;释放全部的数组,delete  p只释放第一个内存

4.前向声明

   class A;

   class B:public A//错误,A没有定义,无法生成继承类

   应该为

  //a.h

   class B;

   class A;

//b.h  

class B:public A

   {  ......  }; 

5.multimap使用

    icount = multimap.count('a');

   it = multimap.find('a');

   for(int i = 0; i < icount;  ++i, ++it)

      

6.纯虚函数的用途

   

   class A;

  {

     virtual int GetType()= 0;

   }

   class B:public A

  {

virtual int GetType(){return 0};

   }

  纯虚函数能够使得A 对象不会生成。

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: