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++知识体系思维导图
作者:hj_703a
链接:https://www.jianshu.com/p/74e607346ca0