栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C++】第一个程序namespace等解读

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C++】第一个程序namespace等解读

目录

一、第一个C++程序

二、命名空间

三、输入输出


一、第一个C++程序
#include 
using namespace std;

int main()
{
	cout << "hello world" << endl;

	return 0;
}

endl的作用和换行符是一样的

 

二、命名空间

关键字namespace:

定义方式:namespace (){}

使用这个命名空间中的成员:使用作用域限定符::

一个命名空间实际上就是一个域,可以在这个域中定义变量,函数等等。

命名空间的存在的意义:因为C语言中,多人协作开发时,难免会遇到不同开发者的命名方式相同,就会出现重定义的错误提示,这时问题就比较尴尬了,如果项目十分巨大,那么命名修改是十分消耗资源的。那么命名空间就是为了填补C语言的这个坑的。

不同的命名空间,作用域是不同的,两者之间是不会相互影响的,就如同全局定义了一个变量名,在局部中依然可以定义一个相同的变量名。命名空间也是一样的,两个不同的命名空间,可以定义相同标识符的变量或者函数。

 他们之间是不会相互影响的。


如果在多个文件中定义相同的命名空间


int a = 0;
int main()
{
	int a = 1;
	cout << a << endl;//这里是优先访问局部的,再访问全局的.打印 1
	cout << ::a << endl;//这里加了作用域限定符::,如果前面是空白的,默认是全局作用域,就会访问全局的, 打印 0

	return 0;
}

 


 再者我们再将命名空间用上:

namespace yx
{
	int a = 0;
}
int main()
{
	cout << ::a << endl;// 会保存,显示全局没有定义‘a'变量
	return 0;
}

 

 这时我们是将a定义再‘yx’这个命名空间中,即这个域中,全局是访问不了这个域中的数据的。所以找不到’a‘变量。


namespace yx
{
	int a = 0;
}
int main()
{
	cout << yx::a << endl;// 打印 0
	return 0;
}

这时使用了作用域限定符,就会在'yx'这个指定的作用域下面去寻找’a‘。

命名空间的使用方法:

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

printf("%dn", N::a)

2、使用using将命名空间成员引入

using N::b;

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

using namespace N;

三、输入输出

C++中的输入输出是具有类型自动识别的。在C语言中,输出输入使用scanf,printf函数时,总是需要指定输入输出的格式,否则就会出现输入输出错误。C++中不会。

#include 
using namespace std;
int main()
{
	int a = 0;
	double b = 0;
		
	cin >> a >> b;
	cout << a << " " << b << endl;

	return 0;
}

 

C++中的输入cout,输出cin

cout:标准输出(控制台);cin:标准输入(键盘)。并且在使用时需要包含和std命名空间,很容易可以直到,cout和cin是在std这个标准库命名空间中定义的。

我们可以这样使用:

#include 
using std::cout;
using std::cin;

int main()
{
	int a = 0;
	double b = 0;
		
	cin >> a >> b;
	cout << a << " " << b << std::endl;

	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号