初识c++

c++在编程语言排行榜上稳居前4,可见其在变成领域的重要性,下面我们一起来了解c++。

首先,在了解之前,我们要先知道在哪里书写自己的代码,以vs为例

以前点击源文件选择创建第一个c++文件即可,值了的cpp代表cplusplus的意思。

ok,让我们来了解c++与c的第一个不同,命名空间

在c语言中想要以rand来命名变量会出现报错,因为有个函数名叫rand,但在c++中有个namespace,可以生成一个自己的域(现在我们知道的有局部域,全局域),每个变量名只能在一个域里出现一次,所以我们可以用namespace来命名一个新的域

这里的域名是可以自己取的,为了简单,我就在取了个a,namespace的使用与结构体类似,但注意,namespace的使用最后没有分号。

想要在主函数中使用域中的变量,结构(域名::变量名),如上图所示,中间是两个冒号。如果你觉得使用每个变量名都这么写有点麻烦了,你可以这么做

在没有名字冲突的情况下可以在全局域里加这串代码,相当于将这个域里的东西同步到全局域,大家知道,在函数内使用变量会先在局部域里寻找,如果找不到则会到全局域里找,如果没有这串代码且没有前面的域名,系统就无法找到该变量,加上这串代码系统会在局部域和全局域完后还会在该域里寻找,一般仅在私下练习时使用。

2.c++的输入输出

想用c++输入输出,首先得在文件包含iostream

接着,要知道c++的输入与输出是在std域里面,想要调用需要在前面加上std::,输入(cin),输出(cout)。下面来看这两个代码

这就相当于c语言里的scanf和printf,代码执行结果如下

如果在需要多次输入输出,你觉得每个都接std麻烦,可以像上面一样,用using的方法,在这里就不演示了。最后的endl可以简单理解成printf的换行符,当然,你也可以在代码中这样写<<"\n",也能起到换行的目的,使用cout和cin时不需要在意是什么类型的变量,因为它会自动选择。

&引用

&引用可以在许多时候使代码更简单高效

这就是引用最简单的形式,相当于是给a取了别名叫b,对b的修改可以影响到a,如图

我们给a取别名b,最后将20赋值给b,让我们看看a的结果

可以看到,无论一开始给a的赋值是多少,a的值都会随着b的改变而改变,而引用的应用最多在于函数的传参,可以减少空间的使用及增加代码的可读性,下面是个小小的例子,我们以前用的swap函数

想要使形参的改变能够影响到实参,我们一般需要传实参的地址过去,但传址会显得有些麻烦且需要而外的空间开销,我们只需这样

且在传参时不需要加取地址符号,这是,a和b时传的参数的别名,对别名的修改可直接影响到本体,且可读性增加了不少。

下面是我认为引用和指针的几点不同

语法概念上引⽤是⼀个变量的取别名不开空间,指针是存储⼀个变量地址,要开空间。

 引⽤在定义时必须初始化,指针建议初始化,但是语法上不是必须的。

 引⽤在初始化时引⽤⼀个对象后,就不能再引⽤其他对象;⽽指针可以在不断地改变指向对象。

 引⽤可以直接访问指向对象,指针需要解引⽤才是访问指向对象。

 sizeof中含义不同,引⽤结果为引⽤类型的⼤⼩,但指针始终是地址空间所占字节个数(32位平台下 占4个字节,64位下是8byte)

 指针很容易出现空指针和野指针的问题,引⽤很少出现,引⽤使⽤起来相对更安全⼀些

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值