C++中using namespace std是什么意思?

如题所述

有些名字容易冲突,所以会使用命名空间的方式进行区分,具体来说就是加个前缀。比如C++标准库里面定义了vector容器,你自己也写了个vector类,这样名字就冲突了。于是标准库里的名字都加上std::的前缀,你必须用std::vector来引用。同理,你自己的类也可以加个自定义的前缀。

但是经常写全名会很繁琐,所以在没有冲突的情况下你可以偷懒,写一句using namespace std;,接下去的代码就可以不用写前缀直接写vector了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-01
命名空间,cout、cin等能用的上,如果没有你只能写std.cin、std.cout了。
第2个回答  2017-06-18
使用标准模板库
第3个回答  2014-04-01
使用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.

参考资料:http://zhidao.baidu.com/link?url=TTB85h83KB7qdG95YkyLNLi9lwxSXBKYbyVRyArLrb1EXvrwOlNY58hAP-QhKOBmj0zjqvAKGb3iNKvi3T49Qq本回答被网友采纳

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

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

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

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

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

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

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

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

在C++程序设计中“using spacename std”到底有什么用
在c++中有名空间这一概念,using 和namespace 是关键字,通过名空间可以再同一个文件中使用相同的变量和名或函数名,using namespace std 意思是使用系统库时使用名空间std。用c++写程序时只要在开头加上#include<iostream>,下一行写 using namespace std ;,注意std后有分号的。或者用#include<...

相似回答