C和C++体系图,C/C++对比学习

作者: 编程小兔崽 | 来源:发表于2018-09-30 14:50 被阅读9次

    1、在C++中,一个程序通过g++的编译器的进行四步:

    预处理  g++ tect.cpp -o test.i  -E

      编译     g++ test.i -o test.s      -S

      汇编     g++ test.s -o test.o     -c

    链接     g++ test.o -o test

    其后执行语句: ./test

    2、C和C++的关系:

    学习任何一门新的语言都必须对已学过的进行思考,找出异同点,方便学习新语言的特性。

    C++的意思: C plus plus

      C++是完全兼容C语言的,其中很多特性都能体现出来。

    C:    .c          stdio.h                              printf  scanf   函数无重载,且结构体不能为空        过程

      C++:  .cpp      iostream(引入命名空间)     cout    cin       有重载,且类可以为空               强调的是对象

    C程序:

    #include<stdio.h>voidmain(void){inti=10;printf("i = %d\n",i);}

    C++程序:

    #include<iostream>usingnamespacestd;intmain(void){inti=10;cout<<i<<endl;}

    C++的输出不强调输出的格式,由编译器自动识别,以endl回车换行。

    3、C和C++的简单区别:

      (1)、建立的文件类型不一样,C语言为.c, C++为.cpp

      (2)、引入的头文件不一样

      (3)、C++有命名空间

      (4)、输入输出的语句不一样

      (5)、C语言不允许重载,C++可以进行重载

      (6)、自定义类型不一样,C语言使用struct,C++使用class

      (7)、C++语言有逻辑数据类型bool

    4、C和C++的编译识别:

      C语言的变量必须的放到:所有有效语句之前。

      C++语言在何时用到变量,在定义,比较符合人文化。

    5、C和C++的编程思想:

    C function 函数 + 算法编程强调的是实现的过程

    C++ 因为其完全兼容C,其定义变量并不像java一样,全部都是对象,int i;这只是普通的变量,所以C++是一门基于面向对象的语言。

      对象+对象+.................+算法

    谈C++一切都要用对象 编程强调的是对象怎么了,一切围绕对象;

    6、在C++中对于多个完全相同函数的简单识别方法:

      (1)、利用条件宏

    #defineAAA#ifdefAAAvoidfun(){}#elsevoidfun(){}#endif

      (2)、利用命名空间加以解决:

    #include<iostream>usingnamespacestd;namespaceMySpace{voidfun(){cout<<"This MySpace"<<endl;}};namespaceYouSpace{voidfun(){cout<<"This YouSpace"<<endl;}};usingnamespaceMySpace;intmain(void){fun();return0;}

    这就是通过命名空间解决了函数一样的调用问题,当然,命名空间的本质及用法对自己刚接触C++,还不是很清楚。

    如果在文件iostream中没有引入命名空间,就的由我们自己手工写std;

    std::cout<<"namespace std"<<std::endl;

    如果喜欢,想了解更多知识,请关注公众号,每天进步一点点

    C/C++知识体系思维导图

    相关文章

      网友评论

        本文标题:C和C++体系图,C/C++对比学习

        本文链接:https://www.haomeiwen.com/subject/nlewoftx.html