当我们在使用C++语法进行编程练习的时候,往往在代码的前两行会这样来写
include
using namespace std;//使用命名空间的前提示命名空间必须存在,std命名空间定义在iostream中。
学过C语言的同学在学习C++的时候是否会产生这样的疑惑呢:
练习C语言编程的时候,只需要声明一个头文件:#include.而为什么在C++中,却需要写出include和using namespace std;这两行代码呢?
其中第一行include我们还勉强可以理解,它其实类似于C语言中的#include,即:声明标准的输入输出头文件。然而using namespace std究竟起到了什么作用呢?
针对这个问题,网络上有很多专业的说法,但是长篇大论的内容,对于初学者来说实在头疼,根本看不进去,所以接下来我希望可以用简练的语言来解释清楚using namespace std的作用,以下的内容虽可能有些许冗余,但我相信是通俗易懂的,您只要能够一行行的看下去,一定能够完全看懂!
本人认为正确的学习顺序是:我们要做到先学会定义、使用和理解命名空间(namespace),再回过头去研究using namespace std;的作用,这样可以起到事半功倍的效果,那么接下来重点就来了。
1、定义命名空间
(1)简单的命名空间
//1、定义命名空间A
namespace A
{
int a=0;//在命名空间A中定义变量a
}
定义一个命名空间就是这样简单:在这个命名空间A中,有一个int型的变量,他的名字是“a”。那么我们接下来直接上难度!定义一个复杂的命名空间。
(2)复杂的命名空间
要求:定义命名空间B,并在命名空间B中定义命名空间C,并在命名空间C中定义结构体Teacher
//2、复杂的命名空间
namespace B //定义命名空间B
{
int a=1;//在命名空间B中也可以定义变量a,因为他们不在同一个命名空间中
namespace C//还可以在命名空间B中再定义一个命名空间C
{
struct Teacher//在命名空间C中定义结构体Teacher
{
char a[32];//结构体中还可以定义变量a,因为这三个“a”都不在同一个命名空间中
int b;
};
}
}
2、使用命名空间
(1)使用命名空间的基本方法
前面已经定义好了命名空间A、B、C,且在这三个命名空间中都定义相同的变量“a”,接下来我们就来使用这三个命名空间。
int main()
{
//使用命名空间的基本方法1
using namespace A;//告诉编译器我要使用命名空间A中的功能了
a=10; //将命名空间A中的变量“a”由0更改为10
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?