C++:C++初识

初识C++

命名空间
在学习C/C++过程中,变量、函数和类的名称都有他们的作用域,但这会产生很多很多冲突,使用命名空间的目的是对标识符的名称进行本地化用来解决命名冲突的问题。通俗的来讲,命名空间实际上就是一个有名字的作用域,它是一种新的作用域。
命名空间的定义

  1. 命名空间中既可以定义变量,也可以定义函数
namespace Program1//Program1是命名空间的名称
{
	int a;
	int Swap(int x, int y)
	{
		int temp = x;
		x = y;
		y = temp;
		return x;
	}
}
  1. 命名空间可以进行嵌套
namespace Program2
{
	int a;
	int Swap(int x, int y)
	{
		int temp = x;
		x = y;
		y = temp;
		return x;
	}

	namespace Program3
	{
		int b;
		int Add(int x, int y)
		{
			return x + y;
		}
	}
}
  1. 同一个工程中可以存在多个相同名称的命名空间,最终编译器会将这些合并在同一个命名空间中。

总结:一个命名空间定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。

命名空间的使用
我们都知道C++是一门面向对象的语言,而在学习C语言时,它是一们面向过程的语言,两门课程虽有相似之处,却也有着很大的不同。
下面来看一段代码:

namespace  Program
{
	int a = 10;
	int b = 30;
}
int main()
{
	printf("%d\n", a);//出现编译错误
}

在这里插入图片描述
在这里我们发现在输入数据时出现了错误,下面介绍一下在C++中我们对于命名空间的使用.
命名空间的使用有三种方式
1.加命名空间名称及作用域符

int main()
{
	printf("%d", Program::a);
	return 0;
}

当打印全局作用域中的变量使用 : :(作用域限定符),使用作用域限定符可以访问命名空间中定义的变量。
2.使用using将命名空间中成员引入

using Program::b;
int main()
{
	printf("%d", Program::a);
	printf("%d", b);
	return 0;
}

using Program::b;这样就相当于定义了一个全局变量,这种情况适用于当前变量使用次数较多,在不冲突的前提下,可以将这种变量单独提出进行定义;
3.使用using namespace 命名空间名称引入

using namespace Program;
int main()
{
	printf("%d", Program::a);
	printf("%d", b);
	return 0;
}

定义了当前文件的全局变量,优点是在命名空间中的成员可以直接在当前文件中直接使用,但它的缺陷是这样增加了产生冲突的概率。

C++输入&输出

在学习C语言时,我们学习的第一段代码是"Hello World!"
下面让我们看看在C++中是如何进行这句话的输出:

在这里插入图片描述
在C++中:
1.使用输出/输入流时,必须包括头文件< iostream>以及std标准命名空间。cout标准输出(控制台)和cin标准输入(键盘)
2.使用C++输出输出更加的方便,它不需要增加数据的格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值