从C语言到C++

1.前言

这篇文章作为C语言到C++的过渡,包含必需的基本知识,及C++相较于C语言做了哪些方面的改进。如果不全或有误,恳请在评论区指正。

 2.C++的发展 

3.C++相较于C语言的改进

C++适用绝大多数C语言用法

①命名空间

很明显在C语言中不能有相同的变量名,C++编程又需要多人协同,很可能出现相同的变量名。为解决这一问题,C++引入命名空间的定义。

namespace  空间名 {  自定义类型 / 变量 / 函数.....} 在全局域内开出一块命名区域,区域内变量需要::才能访问使用。  ::是域作用限定符,若前面没有空间名则代表全局域。

如果不想加::还想访问域内变量,可以展开该变量 ———>using 域名 ::变量;

还可以将整个域展开——>using namespace 域名;

std则是C++标准库的域名。

命名空间也是可以嵌套的。(和结构体这种类型很像)

using namespace std;   //将std展开
namespace hap
{
	int a = 10;
}
namespace dif
{
	int a = 99;
}
using hap::a;
int main()
{
	
	printf("%d\n", hap::a);
	printf("%d\n", dif::a);
    printf("%d\n", a);//因为将hap中的a展开,这里的a指的是hap中的a
	return 0;
}

②输入输出 

<iostream>C++标准输入输出流库
std::cin 是istream 类的对象 标准输入流
std::cout 是ostream 类的对象 标准输出流
<< 流插入运算符
>> 流提取运算符
std::endl是一个函数,相当于换行字符+刷新缓冲区

③缺省参数

也叫默认参数。函数参数设定默认值,可以从右向左省略传参。

定义全缺省函数:int flag(int age=18,double hight=1.87,int mm=6)
{}
使用:
flag();
flag (10);
flag(17,1.90);
flag(12,1.54,3);

定义半缺省函数:int flag(int age,double hight=1.87,int mm=6)
{}
使用:
flag (20);
flag(27,1.79);
flag(11,1.10,2);

④函数重载

用处相当多,允许同名函数出现,要求参数的数量 类型 顺序不同,返回类型不同不能作为函数重载的条件。

先写一个函数:
int lagc(int ,int ,double,int*);
重载:
int lagc(int ,double);
int lagc(int*,int ,double);
void lagc(int ,int ,double,int*);//这个函数就不是重载了

⑤引用

给变量取别名,替代了C中麻烦的指针,而且引用不用开空间。

1.必须初始化

2.可以给别名起别名

3.引用一旦引用了一个实体,不能再引用其他实体。

引用在作返回值、引用传参时可以减少拷贝提高效率。

⑥const 引用(常引用)

const 引用可以防止引用对象被改变,举个例子,有一变量a,现在取别名为b,b相对于a权限一定是变小或不变的。

临时对象:编译器需要空间暂存表达式的求值结果时,临时创建的一个未命名的对象。引用临时对象只能const引用。

 C++在多个领域中都有着重要地位,特别是在系统编程、游戏开发、嵌入式系统等领域。许多重要的项目,如操作系统、数据库管理系统、图形处理软件等,都是用C++编写的。其高性能、灵活性和可移植性使得它成为众多开发者的首选语言之一。

我会继续更新C++的博客,求一个关注。如果有好的建议,欢迎评论或私信指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值