【C++】——入门(关键字,命名空间,输入输出,缺省参数,函数重载,内联函数,auto关键字与基于范围的for循环)

04-23 1162阅读

创作不易,多多支持! 

前言

从这篇开始正式走向c++的道路了,这篇主要是c++的入门,也就是大致了解一些c++的基础,这篇就是关于c++对于c的补充和优化,为后面的学习打下基础

一   C++的关键字

对于c++的关键字,因为有很多,毕竟是入门我们现在只做了解就行,c++总计63个关键字,c总计32个关键字

【C++】——入门(关键字,命名空间,输入输出,缺省参数,函数重载,内联函数,auto关键字与基于范围的for循环)

二  命名空间 

在写c++的程序的时候,经常会写道using namespace std,这段代码,其实这个的意思就是展开std这个命名空间,使得我们可以用里面的函数和操作符  

之所以要有这个命名空间,是因为在c语言里面定义了与库函数同名的变量就会报错,只能修改名字,所以这里使用了这个命名空间去封装,变成一个域,这个域,不使用特殊的操作符是访问不到的

#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include 
int  pow= 10;//定义
int main()
{
	printf("%d\n", pow);
	return 0;
}

【C++】——入门(关键字,命名空间,输入输出,缺省参数,函数重载,内联函数,auto关键字与基于范围的for循环)

因为pow函数在math.h这个头文件里面,展开以后会导致重名,而这种在c语言是不允许的

但是如果我们开辟一个域,把它放进域里面,那么就不会有这个现象了

 在使用之前得先说明一下它的命名规则

定义命名空间,需要使用到 namespace 关键字 ,后面跟 命名空间的名字 ,然 后接一对 {} 即可, {} 中即为命名空间的成员。 这里注意定义了命名空间就相当于定义了一个新的作用域,这个空间里面的所有内容都局限与这个空间中
#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include 
namespace N1
{
	int  pow = 10;
}
int main()
{
	printf("%d\n",pow);//直接访问会出错,因为命名空间的变量,其他地方不能直接访问到
	return 0;
}

【C++】——入门(关键字,命名空间,输入输出,缺省参数,函数重载,内联函数,auto关键字与基于范围的for循环)

这里就变成了随机值

那如何才能访问呢,其实很简单

#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include 
namespace N1
{
	int  pow = 10;
}
int main()
{
	printf("%d\n",N1::pow);
	return 0;
}

仔细观察这个::操作符其实很好理解就是在N1这个作用域去寻找这个pow变量。如果放在之前c语言里面看就会是这样

int a = 10;
int main()
{
	int a = 20;
	printf("%d\n",a);//这个a输出是20,因为查找的原则是在局部域找,找不到再在全局域找
	return 0;
}
int a = 10;
int main()
{
	int a = 20;
	printf("%d\n",::a);//这个a输出是10,如果::前面啥都没有,就会跳过局部域,直接在全局域找
	return 0;
}

看完上面两段代码,其实就很好理解这个N1::了,就是在N1这个命名空间去寻找,跳过全局域和局部域。

命名空间有三种使用方式

1.加命名空间名称及作用域限定符

#define _CRT_SECURE_NO_WARNINGS 1
#include 
namespace N1
{
	int  a = 10;
}
int main()
{
	printf("%d\n",N1::a);
	return 0;
}

2.使用using将命名空间中某个成员引入 

#define _CRT_SECURE_NO_WARNINGS 1
#include 
namespace N1
{
	int  a = 10;
}
using N1::a;//这里引用以后,后面用到这个变量就不需要再用其他操作才能访问了
int main()
{
	printf("%d\n",a);
	return 0;
}

3.使用using namespace 命名空间名称 引入  

#define _CRT_SECURE_NO_WARNINGS 1
#include 
namespace N1
{
	int  a = 10;
}
using namespace N1;//这里全局展开,代表这个空间的所有内容都可以访问,不需要用限定操作符
int main()
{
	printf("%d\n",a);
	return 0;
}

 三. C++输入&输出

#include
// std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
using namespace std;
int main()
{
cout
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]