std是一个命名空间。
C++中引入命名空间的主要是为了处理程序中常见的命名冲突,它是由ANSI C++引入的可以由用户命名的作用域。所谓命名空间,实际上就是一个由程序设计者命名的内存区域 ,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开来。
不同的命名空间可以有相同的类名被定义 。
using namespace std;就是指明下面的程序使用std,如果不用这句指明的话就要用std:string(string是std空间中定义的,也可以在全局空间中定义,只要名字空间不一样即可)。否则可以默认名字空间中有std.便不用std:来修饰。
扩展资料:
VC++(简称Visual C++、MSVC、VC++或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++集成了便利的除错工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2017。
1、std 是一个命名空间.不同的命名空间可以有相同的类名被定义
2、using namespace std;:就是指明下面的程序使用std。
3、如果不用这句指明的话就要用std::string(string是std空间中定义的
也可以在全局空间中定义,只要名字空间不一样即可..)
4、否则可以默认名字空间中有std,便不用std::来修饰
它是C++新标准中有的,解决多人作编大程序时名字冲突问题。
5、比如A B两个班都有叫张三的人,你要使用A班的张三,必然要先指名是A班这个名字空间(namespace),然后你对张三的所有命令才能达到你的预想,不会叫错人。 如果你用#include<iostream.h>就不需写这句话(旧标准)。
6、但是如果你用
#include<iostream>就必须要写。
扩展资料
Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。
VC++集成了便利的除错工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2017。
它以拥有“语法高亮”,IntelliSense(自动完成功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。
还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。
这些特征明显缩短程式编辑、编译及连结花费的时间,在大型软件计划上尤其显著。
参考资料
using namespace std这条语句是为了告诉编译程序使用std命名空间。
C++标准中引入命名空间的概念,是为了解决不同模块或者函数库中相同标识符冲突的问题。有了命名空间的概念。标识符就被限制在特定的范围(函数)内,不会引起命名冲突。
这条using语句通知编译程序,程序需要使用std命名空间,C++标准程序库中的所有标识符都被定义于一个名为std的命名空间中。
举一程序例
我们可以看出,第二条语句声明了我们可以使用标准程序库的标识符。
如果没有第二条语句,我们就无法正常的使用cout,只能写成 std::cout<<"Hello world"。
也就是说,每一次运用标识符;都要在前面加上std; 具体格式 std::格式符。
所以,为了方便,我们在开始声明了using namespace std。
扩展资料
namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。
参考资料
不同的命名空间可以有相同的类名被定义 ..
using namespace std;
就是指明下面的程序使用std,如果不用这句指明的话就要用std::string(string是std空间中定义的
也可以在全局空间中定义,只要名字空间不一样即可..)..
否则可以默认名字空间中有std.便不用std::来修饰
它是C++新标准中有的,解决多人作编大程序时名字冲突问题。比如A B两个班都有叫张三的人,你要使用A班的张三,必然要先指名是A班这个名字空间(namespace),然后你对张三的所有命令才能达到你的预想,不会叫错人
如果你用#include<iostream.h>就不需写这句话(旧标准)。但是如果你用
#include<iostream>就必须要写。
2018-07-27 · 做真实的自己 用良心做教育
C++中引入命名空间的主要是为了处理程序中常见的命名冲突,它是由ANSI C++引入的可以由用户命名的作用域。所谓命名空间,实际上就是一个由程序设计者命名的内存区域 ,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开来。如:
namespace ns //指定命名空间ns
{
int a;
double b;
}
namespace是定义命名空间所必须写的关键字,ns是用户自己指定的命名空间的名字(可以用任意的合法标识符),在花括号内是声明块,在其中声明的实体称为命名空间成员(namespace member)。现在命名空间成员包括变量a和b,注意a和b仍然是全局变量,仅仅是把他们隐藏在指定的命名空间中而已。如果在程序中要使用变量a和b,必须加上命名空间名和作用域分辨符“::”,如ns::a,ns::b。这种用法称为命名空间限定,这些名字(如ns::a)称为被限定名。
C++中命名空间的作用类似于操作系统中的目录和文件的关系,由于文件很多,不便管理,而且容易重名,于是设立若干子目录,把文件放到不同的子目录中,不同子目录中的文件可以同名,而调用文件时应指出文件路径。
命名空间的作用是建立一些相互分隔的作用域,把一些全局实体分隔开来,以免产生名字冲突。
可以根据需要设置多个命名空间,每个命名空间名代表一个不同的命名空间域,不同的命名空间不能同名。这样可以把不同的库中的实体放到不同的命名空间中,或者说,用不同的命名空间把不同的实体隐蔽起来。过去我们用的全局变量可以理解为全局命名空间,独立于所有有名的命名空间之外,它是不需要用namespace声明的,实际上是由系统隐式声明的,存在于每个程序中。
声明一个命名空间时,花括号内不仅可以包括变量,而且还可以包括一下类型:
变量(可以带有初始化)
常量
函数(可以是定义或声明)
结构体
类
模板
命名空间(在一个命名空间中又定义一个命名空间,即嵌套的命名空间)
例如:
namespace ns1
{
const int RATE=0.08;
double pay;
double tax()
{
return a*RATE;
}
namespace ns2
{
int age;
}
}
输出命名空间ns1中的成员的数据,可以采用下面的方法:
cout<<ns1::RATE<<endl
cout<<ns1::pay<<endl
cout<<ns1::tax()<<endl
cout<<ns1::ns2::age<<endl
可以看到命名空间的声明方法和使用方法与类差不多。但是他们之间有一点差别:声明类时在右花括号的后面有一分号,而在定义命名空间时,花括号的后面没有分号。