> 文章列表 > c++命名空间和include

c++命名空间和include

c++命名空间和include

1、C++中的命名空间namespace_51CTO博客_c++中的命名空间
 

2、

C++ #include<string> 和 using std::string

C++ #include<string> 和 using std::string_yang20141109的博客-CSDN博客

C++中引入了名称空间,使用类时,必须指定是哪个空间的类,在这个问题上,string类属于标准库空间std,所以必须声明使用哪个空间的string类

//不光要加头文件,和C语言不同

#include <utils/Errors.h>

//还要加using
using android::status_t;
using android::INVALID_OPERATION;
using android::NO_ERROR;
using android::BAD_VALUE;

3、c和c++的差异

命名空间。

C++编程语言在 1985 年诞生。而STL标准库的草案在 1992 年才成型。两者相隔了整整七年的时间。

C++ 标准库引入了大量的新的名称。如果这些名称是在 C++ 这门语言诞生之时就存在,那么,C++ 代码撰写者就基本不会使用这些名称来定义自己的标识符

C++,为什么有了include<iostream>,还需要using namespace std呢?

举个例子如下:我有endl这个标识符由iostream library提供,那么理论上,include<iostream>之后,就可以正常地使用endl了。

但实际情况是,不能直接使用endl,还要std::endl。

C++,为什么有了include<iostream>,还需要using namespace std呢?

举个例子如下:我有endl这个标识符由iostream library提供,那么理论上,include<iostream>之后,就可以正常地使用endl了。

但实际情况是,不能直接使用endl,还要std::endl。

using namespace std只是为了将std::endl写法简化为endl而做的工作,同样的效果你也可以通过using std::endl来实现。

你需要弄明白的一个概念是:

endl和std::endl未必就是一种东西,甚至很有可能不是一种东西。

这也是为什么C++程序员们在论坛上讨论标准库设施总喜欢带上命名空间的原因。