zoukankan      html  css  js  c++  java
  • 读书笔记之:C++程序设计原理与实践(ch27:C与C++的区别)[+++]

    第27章 C语言

    1. C与C++

    2. C与C++的兼容性

    3. C不支持的C++特性

     

    4. C中函数与C++的区别:不支持函数重载

    5. 函数参数检查

    6. 函数定义

     

    7. 在C++中调用C和在C中调用C++


     

     

    8. 函数指针

    View Code
    /*

    //

    // This is example code from Chapter 27.2.4 "Pointers to functions" of

    // "Programming -- Principles and Practice Using C++" by Bjarne Stroustrup

    //

    */



    /*----------------------------------------------------------------------------*/



    struct Shape1 {

        enum Kind { circle, rectangle } kind;

        /* ... */

    };



    /*----------------------------------------------------------------------------*/



    void draw(struct Shape1* p)

    {

        switch (p->kind) {

    case circle:

        /* draw as circle */

        break;

    case rectangle:

        /* draw as rectangle */

        break;

        }

    }



    /*----------------------------------------------------------------------------*/



    int f(struct Shape1* pp)

    {

        draw(pp);

        /* ... */

    }



    /*----------------------------------------------------------------------------*/



    typedef void (*Pfct0)(struct Shape2*); 

    typedef void (*Pfct1int)(struct Shape2*,int);



    /*----------------------------------------------------------------------------*/



    struct Shape2 {

        Pfct0 draw;

        Pfct1int rotate;

        /* ... */

    };



    /*----------------------------------------------------------------------------*/



    void draw1(struct Shape2* p)

    {

        (p->draw)(p);

    }



    /*----------------------------------------------------------------------------*/



    void rotate(struct Shape2* p)

    {

        (p->rotate)(p,90);

    }



    /*----------------------------------------------------------------------------*/



    int f1(struct Shape * pp)

    {

        draw(pp);

        /* ... */

    }



    /*----------------------------------------------------------------------------*/

    9. C/C++结构签名字空间的差别

     

    10. C/C++在关键字上的差别

    11. C/C++在变量定义上的区别

    12. C风格类型转换

    13. void* 转换

    14. 枚举

    15. 名字空间

    16. 动态内存分配

     

    17. C风格字符串

     

    18. C风格字符串与const

    19. 字节操作

    20. 实例:strcpy

    21. 风格问题

    22. 输入输出

    23. 文件

    24. 常量与宏

    25. 宏

    26. 类函数的宏

    27. 不要使用语法宏

    28. 条件编译

     

     

     

  • 相关阅读:
    与你的领导意见不一致时你会怎么做?
    调用caffe脚本将图片转换为了lmdb格式
    第04组 Alpha冲刺(4/4)
    第04组 Alpha冲刺(3/4)
    第04组 Alpha冲刺(2/4)
    第04组 Alpha冲刺(1/4)
    2019 SDN上机第3次作业
    2019 SDN阅读作业
    2019 SDN上机第2次作业
    2019 SDN上机第1次作业
  • 原文地址:https://www.cnblogs.com/xkfz007/p/2641054.html
Copyright © 2011-2022 走看看