C++入门

C++入门
为什么用下面的代码开头

#include <iostream>
using namespace std;

(1)包含头文件 iostream 的原因
这是C++的标准输入输出函数,与C语言的头文件 stdio.h 有类似的作用,可用于程序与外部世界通信
里面包含了C++中一些常用的函数,cin,cout等等

(2)iostream 作为头文件没有 .h 后缀的原因
这是C++的语言的约定,头文件不再含有后缀名,但是呢为了兼容C(C的头文件后后缀,例如 .h后缀),所以带有 .h 的头文件,C++依然可以识别

(3)头文件知识拓展
C++的头文件需要用 c 开头 (例如,有个头文件 math,就将其命名为 cmath)
使用这一规则命名的头文件,可以使用C++的特性(C没有),名称空间
也就是上面写过的 namespace std

(4)using namespace std是什么
翻译一下: 使用std的名称空间(std 是英语standard的缩写,在这里是标准函数的意思)

(5)using namespace std的作用
介绍:
语言程序有一个潜在的问题,那就是函数名冲突
假设有两家公司,A公司,B公司,他们都推出了一个函数Add(a,b),用于将a,b的值加起来,并封装在了自家公司的函数包里面,A.h,B.h,如果用户将两个头文件都包含在自己的程序中,并想要使用Add函数计算a,b两个数的和,这个时候,编译器就会不知道该使用A公司的Add函数,还是使用B公司的Add函数。
于是会C++就提出了这么一个解决方案,名称空间,即用户在使用函数时,加上函数的名称空间,用以区分函数的归属
例如上面A、B两公司的代码就分别变成了

A::ADD();
B::ADD();

用这样的方式来区分函数A、B公司的函数

于是乎:
用户在使用C++标准函数的时候,它也是有名称空间的(std)
按我们上面的说法,用户在使用标准函数的时候,也该加上这个
例如有标准函数 cin
用户在用的时候,其实该写 std::cin 而不是直接写cin
但是写过C++函数的后,其实发现我们用的时候,是直接写的cin,而不是直接使用std::cin

这是因为使用标准函数时,每次都加上 std:: 开头,实在是太麻烦了,而为了解决这个麻烦,C++提出了using 编译指令 。使用这指令后,用户就不用在函数前加上名称空间了。

即使用using namespace std后,用户使用std名称空间中的函数时,就不用加上前缀了。

但是呢:
直接使用using namespace std,其实是一种偷懒的方法,在大型项目里面很容易出现问题,所以就引出了一种单独使用名称空间中的某一个名称
例如,使用using std::cout后,之后再用cout时,便不用加上前缀了,而使用std其它的函数,依然需要加前缀。

注:参考C++ Plus

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值