C++关键字、命名空间、输入输出

一、C++

        C++是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。

二、C++关键字

        C++关键字有些是C语言中原带的,也有一些是C++本身的关键字,对于这些关键字,大家只需在学习过程中去理解、接受即可。

三、命名空间

3.1命名空间的介绍

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

        在命名空间中定义的变量和函数等,不与主函数或其他地方的定义冲突,也就是说命名空间是程序员单独开辟出的一块“与世隔绝”的空间,在不对命名空间进行展开或者引用时,里面的数据不会被调用和冲突。

        定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。

代码演示如下:

namespace jgk
{
	int n = 1;
	int m = 10;
	int ADD(int x, int y)
	{
		return x + y;
	}
}

        对于如上的代码,“jgk”是指命名空间的名字,一般开发中是用项目名字做命名空间名,平时练习时也可以用自己名字的缩写,没有硬性要求。

        命名空间中可以定义变量/函数/类型。

        命名空间可以进行嵌套使用,如下所示:

namespace jgk
{
	int n = 1;
	int m = 10;
	int ADD(int x, int y)
	{
		return x + y;
	}
	namespace lx
	{
		int SUB(int x, int y)
		{
			return x - y;
		}
	}
}

         同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。

3.2命名空间的使用

        我们知道何为命名空间后,那么该如何使用呢?

namespace jgk
{
	int n = 1;
	int m = 10;
	int ADD(int x, int y)
	{
		return x + y;
	}
}

        对于如上的命名空间,我们想要使用空间里面的定义,就需要对命名空间进行展开或者进行引用。

3.2.1展开命名空间
using namespace jgk;

        使用using namespace 命名空间名称引入,将命名空间展开后,在全局中就可以随意使用,但是此类做法较为危险,如果在主函数和命名空间中同时具有相同的变量或函数等,就会分辨不清该使用哪个。

3.2.2加命名空间名称及作用域限定符
namespace jgk
{
	int n = 1;
	int m = 10;
	int ADD(int x, int y)
	{
		return x + y;
	}
	namespace lx
	{
		int SUB(int x, int y)
		{
			return x - y;
		}
	}
}
int main()
{
	int m = 5;
	printf("%d\n", m);
	printf("%d\n", jgk::n);
	return 0;
}

        在没有加命名空间名称及作用域限定符时,调用的是main函数内部的变量,在加命名空间名称(jgk)及作用域限定符(::)后,调用的是命名空间中的变量。

3.2.3使用using将命名空间中某个成员引入
namespace jgk
{
	int n = 1;
	int m = 10;
	int ADD(int x, int y)
	{
		return x + y;
	}
	namespace lx
	{
		int SUB(int x, int y)
		{
			return x - y;
		}
	}
}
using jgk::m;
int main()
{
	printf("%d\n", m);
	printf("%d\n", jgk::n);
	return 0;
}

四、命名空间的总结

1、程序员独立开辟出来的“空间”,可以避免与全局变量发生冲突。

2、命名空间的起名是任意的,在做项目时,多以项目名字命名,命名不具有硬性要求。

3、命名空间的使用:

        (1)使用using namespace 命名空间名称引入.

        (2)加命名空间名称及作用域限定符。

        (3)使用using将命名空间中某个成员引入。

五、C++输入&输出

        还记得我们初入C语言时所写的“hello world”代码吗?相信那是许多小伙伴们梦想开始的地方,但是在C++中,也有自己的“hello world”,那么该如何输出呢?

说明:

1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件
以及按命名空间使用方法使用std。
2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< 
iostream >头文件中。
3. <<是流插入运算符,>>是流提取运算符。
4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。
C++的输入输出可以自动识别变量类型。
5. 实际上cout和cin分别是ostream和istream类型的对象,>>和<<也涉及运算符重载等知识。

5.1C++输出
int main()
{
	printf("hello world\n");//C



	std::cout << "hello world" << std::endl;//C++
	return 0;
}

        由上图可知,C++的输入为“cout”,为标准输出对象,endl表示换行输出。

        “cout”、“cin”、“endl”都属于< iostream >头文件,在使用它们时,需要按照命名空间的使用方法。

        C++中的输入和输出,不必像C语言中那样辨别变量的类型,可以自动识别。

int main()
{
	int a = 1;
	float b = 3.2f;
	double c = 3.14;
	long  d = 1000000;
	std::cout << "a = " << a << std::endl;
	std::cout << "b = " << b << std::endl;
	std::cout << "c = " << c << std::endl;
	std::cout << "d = " << d << std::endl;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值