c与c++有什么不同
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、命名空间的引入
- 二、基本输入和输出
- 三、新数据类型
- 四.函数思想
- 总结
前言
c++是由c语言衍生而来的所以它们之间还是有许多地方是相同的,可以说学完了c语言就基本上已经学完了c++的一半了;大部分的c语言代码都是可以在c++环境下运行的;
值得注意的是c与c++的编程思路是不相同的,C语言是面向过程的编程语言,而c++是面向对象的编程语言,前者可以实现后者,但后者不能实现前者;
一、命名空间的引入
这是c++中比较重要的知识;
它可以实现一个名字在同一个代码中重复使用
例如
using namespace std;
namespace bose
{
int i=0;
}
int i=1;
int main()
{cout<<i<<endl;
cout<<bose::i<<endl;
}
输出为1 0;
using语法 ,可以省略前缀的写法
例:
using namespace 命名空间名;在其作用空间内可以不用书写 命名空间名::
命名空间:
可以增加标识符的使用率,C语言同一个作用域下不允许定义相同的标识符
作用域分辨符::
空间名限定,类名限定(后面讲)
用来标识全局变量
命名空间还可嵌套访问
namespace A
{
int ui;
namespace B
{
int ui;
}
}
int main()
{A::ui = 6;
A::B::ui = 7;//剥洋葱
}
二、基本输入和输出
所需头文件#include <iostream>
一般情况都会包含命名空间 using namespace std;
输入cin
输出cout
使用:
#include <iostream>
using namespace std;
int main()
{
char t;
cin >> t;//输入,输入时遇见空格就停止输入
cout << t;//输出
cout << t << "\t" << (int)t;//一次一次性打印多个数据
}
如果输入时缓冲区有东西就会优先输入缓冲区中的数据;
while (getchar() != '\n');可清空缓冲区
三、新数据类型
bool类型
+ 占用内存是一个字节
+ 计算机非零表示成立,只有0或者指针空表示不成立
+ 一般充当函数返回值,或者开关
+ 正常输出是0和1
+ C++专有的赋值方式,false和true
指针的NULL C++种改为 nullptr
引用类型
+ 理解为起别名
+ 基本引用
int u=0;
int &i=u;//i是u的另一个名字,i就是u,u就是i
常引用(右值引用)
类型名&& 别名=右值
int&& a=1; //1就是a ,a就是1
四.函数思想
+ 内敛思想 inline关键字
+ 什么样的函数可以成为inline,短小精悍
+ 在结构体中或者类种实现的函数默认内敛(知道即可)
+ 函数重载: C++允许同名不同参数函数存在
+ 参数数目不同
+ 参数类型不同
+ 参数顺序不同(一定建立在不同类型的基础上)
+ 函数缺省: C++中允许给函数形参初始化
+ 缺省顺序 必须从右往左缺省,缺省的参数中间不能存在没有缺省的
+ 没有参入参数,使用的是默认值
总结
总的来说c++就是在C语言的基础上做了衍生,让其更适合与企业开发