轻松学c++入门篇

温馨提示:本篇文章只讲解是什么,以及怎么用

基础概念

namespace的价值

7.1namespace的价值
在C/C++中,变量、函数和后⾯要学到的类都是⼤量存在的,这些变量、函数和类的名称将都存在于全局作⽤域中,可能会导致很多冲突。使⽤命名空间的⽬的是对标识符的名称进⾏本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的


多⽂件中可以定义同名namespace,他们会默认合并到⼀起,就像同⼀个namespace⼀样


总结

像个盒子,用于存放自己写的一些代码,避免和别人的一些代码起到冲突

 C++输⼊&输出

<iostream>是InputOutputStream的缩写,是标准的输⼊、输出流库,定义了标准的输⼊、输
出对象。
i:input   o:   out
std::cin 是istream类的对象,它主要⾯向窄字符(narrowcharacters(oftypechar))的标准输
⼊流。

std::cout 是ostream类的对象,它主要⾯向窄字符的标准输出流。
 std::endl 是⼀个函数,流插⼊输出时,相当于插⼊⼀个换⾏字符加刷新缓冲区。
 <<是流插⼊运算符,>>是流提取运算符。(C语⾔还⽤这两个运算符做位运算左移/右移)
使⽤C++输⼊输出更⽅便,不需要像printf/scanf输⼊输出时那样,需要⼿动指定格式,C++的输⼊
输出可以⾃动识别变量类型(本质是通过函数重载实现的,这个以后会讲到),其实最重要的是
C++的流能更好的⽀持⾃定义类型对象的输⼊输出。
 IO流涉及类和对象,运算符重载、继承等很多⾯向对象的知识,这些知识我们还没有讲解,所以这⾥我们只能简单认识⼀下C++IO流的⽤法,后⾯我们会有专⻔的⼀个章节来细节IO流库。
 cout/cin/endl等都属于C++标准库(std),C++标准库都放在⼀个叫std(standard)的命名空间中,所以要通过命名空间的使⽤⽅式去⽤他们。


总结

第一种使用空间名::去调用函数
第二种使用using namespace 空间名;


 缺省参数

缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调⽤该函数时,如果没有指定实参
则采⽤该形参的缺省值,否则使⽤指定的实参,缺省参数分为全缺省和半缺省参数。(有些地⽅把
缺省参数也叫默认参数)
 
全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值。C++规定半缺省参数必须从右往左
依次连续缺省,不能间隔跳跃给缺省值

总结

缺省值的使用:当创建的对象没有传值过来时,编译器会自动调用缺省值,全缺省是每一个缺省参数都有缺省值,半缺省是部分有缺省值(这一部分是连续的),一部分没有缺省值


函数重载

C++⽀持在同⼀作⽤域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同。这样C++函数调⽤就表现出了多态⾏为,使⽤更灵活。C语⾔是不⽀持同⼀作⽤域中出现同名函数的

总结

函数重载:同名函数,形参不同,个数不等,类型不同

注意:这里的个数不等是形参个数不行等,并且个数和类型的不等是用于解释形参不同的意思包含其中一个条件即可

引⽤的概念和定义

引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间,它和它引⽤的变量共⽤同⼀块内存空间。⽐如:水浒传中李逵,宋江叫"及时雨",江湖上⼈称"⿊旋⻛";林冲,外号豹⼦头;

总结
符号:&
类型& 引⽤别名=引⽤对象;

 引⽤的特性

1. 引⽤在定义时必须初始化
2. ⼀个变量可以有多个引⽤
3. 引⽤⼀旦引⽤⼀个实体,再不能引⽤其他实体


 const引⽤

可以引⽤⼀个const对象,但是必须⽤const引⽤。const引⽤也可以引⽤普通对象,因为对象的访
问权限在引⽤过程中可以缩⼩,但是不能放⼤


inline
 

⽤inline修饰的函数叫做内联函数,编译时C++编译器会在调⽤的地⽅展开内联函数,这样调⽤内联函数就需要建⽴栈帧了,就可以提⾼效率。
 inline对于编译器⽽⾔只是⼀个建议,也就是说,你加了inline编译器也可以选择在调⽤的地⽅不展
开,不同编译器关于inline什么情况展开各不相同,因为C++标准没有规定这个。inline适⽤于频繁
调⽤的短⼩函数,对于递归函数,代码相对多⼀些的函数,加上inline也会被编译器忽略。 
C++11中引⼊nullptr,nullptr是⼀个特殊的关键字,nullptr是⼀种特殊类型的字⾯量,它可以转换
成任意其他类型的指针类型。使⽤nullptr定义空指针可以避免类型转换的问题,因为nullptr只能被
隐式地转换为指针类型,⽽不能被转换为整数类型。

实操视频

视频链接:【c++入门】https://www.bilibili.com/video/BV1zBige5E5Y?vd_source=9c17c862acda0523093f08ff7dd82439

相信阅读完这篇文章的你一定可以理解它是什么,看完视频后你也会理解它怎么用,我们下期见 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值