C++----语法(1)

前言:(1)c++兼容c语言,是对c语言的一个优化,可以用c语言实现的代码,一定也可以用c++实现。

(2)一般标准库包含为#include<iostream>,应理解为流的包含。

(3)cin>>(从键盘输入数据)       cout<<"hello!"<<endl(输出结果)。

1:命名空间的使用

主要作用:解决与库之间的命名冲突问题。

(1)命名空间的含义与定义

命名空间是一块自己的私有的空间域,在里面可以定义函数,对象等等,创立一个命名空间之后,若对象名与局部对象相同也不会发生冲突。

(2)命名空间的展开

以c++标准命名空间展开为例,上述所说的cin,cout均属于标准命名空间std中,平常调用为:

std::cin>>num;      std::cout<<"hello!"<<endl;

若想简化代码直接使用,展开命名空间即可:using namespace std;

Ps:对于自定义的命名空间不可以随意展开,若含有好几个同名对象,会让编译器不知道到底该调用哪一个!!!

代码实现:

运行结果:

(3)访问顺序的辨析

首先,默认状态下作用域的访问顺序局部域->全局域。

Ps:在查找时,不会在私人的命名空间中查找!!!!要调用私人的命名空间时,一定要注意前面的指定,如下:

2:引用

概念:对于变量取了一个新名字,本身并不开辟空间,指向的空间依旧为原先的那个变量。

如:int a = 3;     int& b = a;(其中b是a的别名,顺序不可颠倒!!!)

作用:

(1)与指针类似,对于数据的交换更加方便

(2)在对于传参为指针,但要改变本身的情况,使用指针也会更加方便,例如单链表的创建

特性:

(1)一个对象可以有多个别名,进行多次引用

(2)引用必须在声明的时候就进行初始化

(3)不可以对已经是一个对象的引用再次作为另一个对象的引用

使用引用时候的权限问题:

1:对于已被const修饰的对象,不可以再对其进行引用,会造成权限的放大。

2:原先对象未被const修饰,别名被const修饰,可以,造成权限的缩小而已。

3:未有任何条件,直接进行引用,是权限的平移,可以。

如下:

辨析:

Ps:只有引用才会考虑到权限的问题!!!引用的权限只可以缩小,不可以放大!!!

3:缺省函数

(1)缺省函数的定义以及分类

在声明函数时,形参部分变量已经被赋值, 如:int  Add(int x = 3 , int y = 4),像这类的函数被称为缺省函数。

缺省函数大体上被分为两类,半缺省函数以及全缺省函数。

int Add(int x = 3 , int y);      int Add(int x , int y)。

2)缺省函数的使用以及意义

在函数不进行传参时,直接使用原先声明时就已赋值的值,让函数的使用变得更加方便。

Ps:在使用依旧遵循形参的改变不改变实参,以及实参的优先级大于形参

4:重载函数

(1)重载函数的定义

重载函数是指同一作用域下的同名函数功能类似,但是形参的类型,个数以及顺序不一致。

Ps:  与形参的名字无关!!!

(2)重载函数的具体使用

重载函数的实现主要可以使得同个函数名却拥有多种不同的功能,使得函数的调用更加灵活化。

具体的一些基础实现:

(3)c++与c语言的差别

c++实现的原理:若声明与定义分离,编译器只有在定义的时候才会拿到函数地址进行调用。

c语言中不可以出现同名函数,但c++中可以使用,即为重载函数,原因:在编译时,c语言直接用函数名进行查找,而c++是根据修饰后的函数名进行调用,所以C++支持重载。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值