part01 从c到c++

来源:互联网 发布:诺基亚6120c软件 编辑:程序博客网 时间:2024/05/01 14:11

《跟我一起学C++01-25集免费下载地址:

http://pan.baidu.com/share/link?shareid=95921&uk=2234050618

 

第一集

1,c、c++ 和 java、.net 对于编程语言的需求的区别:

   编程语言的需求总结为4个:效率(efficiency)、灵活(flexibility)、抽象(abstraction)、生产力(productivity),c语言注重前两者、c++注重前3者、java、.net注重后两者

2,c++支持的编程范式(paradigm):

  (1) 过程式(procedual)

  (2)数据抽象 (data abstraction)

  (3)基于对象 (object_based)

  (4)面向对象式 (object——oriented)

  (5)函数式 (functional)

  (7)泛型式 

  (8)模板元形式

 

第二集

1, bool、const关键字

  (1)bool

    非零对应的是true   零对应的是false

  (2)const

    const int * p;  //*p 是一个常量

    int * const p = &a; // p是一个常量,必须进行初始化

    const 定义的常量有类型 编译时进行内存分配,#define定义的常量没有类型 编译时不进行内存分配

2,结构体内存对齐

  (1) 第一个成员与结构体变量的偏移量为0

  (2)其他成员要对齐到某个整数的整数被的地址

  (3)结构体的大小为最大对齐数的整数倍

    #pragma pack(4) 

    #pragma pack()

    通过“pragma pack”设置对齐数

 

第三集

 1,new delete用法

   (1)new的三种用法

    new operator           分配内存   调用构造函数

    operator new           分配内存

    placement new        不分配内存  调用拷贝构造函数

  (2)delete 执行的操作 

    调用析构函数

    释放内存(operator delete)

2,重载

 (1)函数的重载属于静态联编(编译时期确定函数的入口) ,virtual(动态联编)

 (2)c++ 为了支持重载,需要进行name manageling (名字改编)

3,extern “C”  实现c与c++的混合 编程

 

第四集

1,引用

   (1) const引用是指向const对象的引用 

           const int val = 1024;

           const int& refval = val;        //true

           int& refval2 = val;               //false   const int 不能够转换成int& 

   (2) 引用传递

        引用作为参数传递:在函数定义的时候,在参数前面添加“&” 引用运算符   在函数进行调用时,对引用进行初始化

        void swap(int& x, int& y );       

        引用作为返回值:可以使得函数作为赋值运算符的左值

                                     不能够返回对局部变量的引用

        int& index(int i) { return a[i]}                      

        index(5) = 100;   //100 赋值给a[5]

第5集

1,内联函数 inline      在编译起对代码进行展开 

2,强制类型转换:

     const_cast   去除常量性,函数可以接收实际参数

     static_cast 

     reintepret_cast

          

 

        

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击