C++基础

"本文详细介绍了C++编程中的关键字,包括新增的31个关键字及其用途,如auto用于简化类型声明,引用作为变量的别名以及其在函数参数和返回值中的应用。此外,还讨论了命名空间解决命名冲突的作用,函数重载的概念,以及extern"C"在C++与C语言混合编程中的作用。同时,强调了 nullptr 在指针为空值时的使用。"

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.C++关键字

asm do if return try continue auto double imline short typedef for bool dynamic_cast int signed typeid public break else long sizeof typename throw catch explict namespace case enum mutable static union wchar_t static_cast unsigned default char export new struct using friend class extern operator switch virtual register const false private template void true

const_

cast

float protected this volatile while delete goto

reiniterpret_

cast

C++关键字共有63个,在C语言的基础上增加了31个

2.命名空间 namespace

命名空间这个关键字产生的原因:当你在做一个大型的项目工程时,通常会出现一个巨大的问题,命名重复。你和你团队的成员的命名冲突,于是便产生这一个关键字。namespace的作用:对标识符的名称进行本地化,防止命名冲突或名字污染。

命名空间的使用方式:

3.auto的用法   注:编译器使用VS2022

auto这个关键字在之前是非常冷门的,C++11中重新定义了auto的用法:

 

 auto在某些情况下可以代替不用写数据的类型,但auto不能做函数的参数,返回值

 但这种用法并没有很大的意义,auto的用法

(1)当经过重定义后的类名仍然很长时,可以用auto去替代,可以省点力气;

(2)范围for循环时可以使用auto

当遍历数组时十分的好用

 

 范围for循环并不会改变数组array中的值,它只是将数组中的值拷贝到x上。

4.引用

C++中在C语言的基础上加入了引用。

引用的实质:给变量取一个别的名字。

b是a的别名,c是b的别名,d是c的别名,为什么呢? 看一下他们的地址就知道了。

地址是相同的。

引用有什么用法呢?

 (1)作为函数的形参。

在C语言中,如果想要通过函数的形参来改变实参的话,需要传递指针,但有了引用就可以通过引用来改变实参了,比指针在某些程度上更方便一些。

 

 (2)作为函数的返回值

引用与指针的区别:

引用在语法概念上就是实体的一个别名,没有独立的空间,和实体共用一块空间;可以再看一下上面的代码;

引用和指针在汇编上的实现方式是相同的。

(1)引用在使用时必须初始化,指针没有此要求。

(2)引用在初始化后就不能再引用其他实体了,指针可以指向其他变量。

(3)有空指针但没有空引用

(4)有多级指针,但没有多级引用

(5)空间大小不同,引用的空间大小是由实体来决定的而,无论指针类型如何在 32 位机器上大小是4,64位大小是8

(6)引用自增相当于实体加1;指针是向后移动一个类型大小;

(7)访问实体的方式不同,指针需要自己解引用,二引用不需要

(8)引用比指针更安全

5.函数重载

C++允许声明定义具有相同的名字但形参类型形参个数不同位置不同的函数,函数的功能类似

但如果仅仅函数的返回值不同,则不构成重载;

函数重载的原理:

拿Linux举例,看似是名称相同的函数实际上在汇编上并不是,一个函数名仍然只对应一个地址,在汇编上可以看出他们实际的函数名是不同的

6.extern ”C“‘

C++在某些情景下需要用C语言的编译风格,在函数前加 extern C 就是告诉编译器是按照 C 的编译方式去编译代码

7.C++中的指针空值

在 C++中一个指向空值的指针应该用nullptr;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值