C++中“using namespace std”表示什么意思?

如题所述

使用std命名空间

98年以后的c++语言提供一个全局的命名空间namespace,可以避免导致全局命名冲突问题。举一个实例,请注意以下两个头文件:

// one.h
char func(char);
class String { ... };

// somelib.h
class String { ... };

如果按照上述方式定义,那么这两个头文件不可能包含在同一个程序中,因为String类会发生冲突。
所谓命名空间,是一种将程序库名称封装起来的方法,它就像在各个程序库中立起一道道围墙。比如:
// one.h
namespace one
{
char func(char);
class String { ... };
}

// somelib.h
namespace SomeLib
{
class String { ... };
}

现在就算在同一个程序中使用String类也不会发生冲突了,因为他们分别变成了:one::String()以及Somelib::String()

这样,就可以通过声明命名空间来区分不同的类或函数等了。
比如C++标准库定义了命名空间:std,其中包含容器vector,示例如下:
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

int main(int argc, char* argv[])
{
const int arraysize = 7;
int ia[arraysize] = {0,1,2,3,4,5};

file://定义容器vector
vector<int> ivect(ia,ia+arraysize);

vector<int>::iterator it1 = find(ivect.begin (),ivect.end (),4);
if(it1 == ivect.end ())
cout<<"4 not found "<<endl;
else
cout<<"4 found "<<*it1<<endl;

return 0;
}

输出结果为:4 found 4.

龙行虎步的伟岸英姿;
温馨提示:内容为网友见解,仅供参考
无其他回答

c++的usingnamespace std是什么
usingnamespace std 使用名字空间。如果一个程序是由多段代码组成,或者由多个程序员编写,那么他们之间可能有些变量名称相同,为了让相同的的变量名称不产生冲突或混淆,我们一般使用名字空间,让变量只在当前代码段有效果。

在c++中using namespace std表示什么意思
而你所说的例子里:using namespace std; 就是告诉编译器,这行代码之后用到的 cout、cin 等函数都是 std 这个命名空间内定义的。另外顺便提一下,命名空间也并没有解决所有问题,它只是使发生命名冲突的机会变小了许多而已。

using namespace std是什么意思?
在C++编程中,"using namespace std"这一语句的作用在于引入标准库的全部内容。这里的"std"代表的是标准命名空间,是C++中预设的集合,包含了许多基本的数据类型、输入输出操作、数学函数等。引入"std"命名空间后,编程者无需在使用这些功能时每次都先加上"std"前缀,简化了代码的书写。"std"命名空间中...

using namespace std;什么作用
意思是:使用命名空间std c++标准库中的类和函数是在命名空间std中申明的,因此程序要用到c++标准库(此时就需#include命令),就需要用“using name space std;”作声明,表示要用到命名空间std中的内容。附:命名空间(namespace):由程序设计者命名的内存区域。把全局实体分别放在各个命名空间中,从...

C++的using namespace std表示什么意思?为什么C语言没有这句话_百度...
是命名空间的意思,这样编译器在编译的时候相当于每个变量都是 命名空间+变量名,这样就可以在不同命名空间里,起同样的变量名,防止变量名用尽或者冲突。C语言没有命名空间,C和C++其实是两门语言,尽量按照他们是两门不同语言的思路来学习比较好。

VC++中"using namespace std"有什么用的
using namespace std;就是指明下面的程序使用std,如果不用这句指明的话就要用std::string(string是std空间中定义的 也可以在全局空间中定义,只要名字空间不一样即可..)..否则可以默认名字空间中有std.便不用std::来修饰 它是C++新标准中有的,解决多人作编大程序时名字冲突问题。比如A B两个班都...

VC++中"using namespace std"有什么用的
声明命名空间 std,指的是使用c++的标准库,使用命名空间可以避免与其它库的函数重名 这个声明会把所有的std里的函数类全部引入。也可以单独引入需要的函数 比如 using std::string;using std::cout;\/\/意思是使用std空间中的cout函数 using std::cin;等 ...

C++ using namespace std;一定要么
using namespace std; 是使用标准库命名空间的意思,可以不用,但是写起程序来比较麻烦,如果使用标准库命名空间里的东西都要加上 std::例如:使用 cout 要写成 std::cout 还有:std::cin std::endl std::string 等等 话说回来,如果加上using namespace std; 的话, cout, cin , endl, ...

C++中的using namespace std
首先呢,命名空间的作用就是避免重复定义变量函数等,造成歧义错误,有了命名空间就可以在你定义的变量等前面加上命名空间的名字,而不管c++库里面是否定义了该变量 另外,我们可以定义自己的命名空间加以使用 std 是c++定义命名空间,我们要定义的话可以是任意的名字 using namespace 只适于一般的小程序...

VC++中"using namespace std"有什么用的
std是一个命名空间。C++中引入命名空间的主要是为了处理程序中常见的命名冲突,它是由ANSI C++引入的可以由用户命名的作用域。所谓命名空间,实际上就是一个由程序设计者命名的内存区域 ,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开来。

相似回答