C++概述1

C++由C语言发展而来,增加了面向对象的机制,并且与C语言兼容,用C语言编写的程序可以不加修改用于C++.

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率(不是执行效率)

1 C++引入命名空间 Namespace,为了避免命名冲突

指定所使用的变量时需使用::操作符,::操作符是域解析操作符

除了直接使用域解析操作符,还可以使用using声明,using声明不仅仅可以针对命名空间的一个变量,也可以用于声明整个命名空间。

在using声明后,若出现未具体制定命名空间的命名冲突变量,则默认采用

命名空间内部不仅可以声明或定义变量,对于其他能在命名空间以外声明或定义的实体,同样也都能在命名空间内部进行声明或定义,例如变量的声明或定义、函数声明或定义、typedef都可以出现在命名空间。

例子 using namespace std 涵盖std命名空间中的所有标识符,而该命名空间包含C++所有标准库。头文件iostream文件中定义的所有变量、函数都位于std命名空间中,每次使用iostream中的变量或函数都需要在前面加上std::是非常麻烦的事,可直接用using声明将std中的所有变量或函数声明出来。

C++以C语言为基础,继承了所有C语言函数库,但C++对这些标准库都重新命名了

2 C++输入输出

C++程序中,输入输出可以看做一连串数据流,输入即可视为从文件或键盘中输入到程序中的一串数据流,输出则可以视为从程序中输出的一连串的数据流到显示屏或文件。

编写C++程序时,如果需要使用输入输出,需要包含头文件iostream。iostream定义了用于输入输出的对象,cin表示标准输入,cout表示标准输出,cerr表示标准错误。cin cout cerr本质是函数调用,它们的实现采用C++运算符重载,其中cout和cerr的输出目的地都是显示屏,不同是cout带有缓冲,cerr没有。

使用cout紧接着使用<<操作符,cin进行输入时紧接着>>操作符,这两个操作符可以自行分析所处理的数据类型,无需像使用scanf和printf那样设置输入输出格式化语句。

可以使用endl(end of line)代替\n,cin支持多变量连续输入

当使用cin>>val输入变量时,如果输入一个变量到val,则该表达式返回true,否则返回false

3 C++引用

引用类似于指针,只是在声明的时候用&取代了*,引用可以看做是被引用对象的一个别名(引用和原始变量都指向同一地址),在声明引用时,必须对其初始化。

声明方法:

类型标识符 &引用名 = 被引用对象

如果不希望通过引用改变原始变量的值,可以这么声明 const 类型标识符 & 引用名 = 被引用变量。这样常引用无法修改原始变量的值,但可以通过原始变量自身修改原始变量的值

通过修改引用可以修改原始变量的值,通过这一特性使得引用用于函数传递参数和函数返回值是非常有用

(1)函数引用参数

在声明或定义函数的时候将函数的形参指定为引用,则在调用该函数时会将实参直接传递给形参,而不是将实参拷贝给传递给形参。因此,如果在函数体中修改了该参数,则实参的值也会被修改,和普通的传值调用有区别。

(2)函数引用返回值

非void型函数需要返回一个返回值,类似于函数形参,同样将函数返回值声明为引用。普通函数返回值通过传值返回(将关键字return后面紧接的表达式运算结果或变量拷贝到一个临时存储空间,然后函数调用者从临时存储空间中取到函数返回值)




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值