由vector引发的疑问
我是初学者,问得可能没有什么技术含量.
为什么使用vector要同时包含头文件<vector>与命名空间std?我发现少了任何一个都会出现同样的错误.
这个命名空间是不相当于java里的类?不同的类里相同名字也没事.
[解决办法]
名空间相当于java里的包。Java里没有声明的概念,所有实现都是编译器自动搜索的,所以Java里只需要名空间声明就行了。
你不写using namespace std;的话完全可以直接写std::vector
using namespace std;相当于java里写import std.*;
对应 using std::vector;相当于import std.vector;
[解决办法]
有时候using namespace std;有BUG 要用 using std::...
[解决办法]
C++标准中头文件是不再需要.h扩展名了.
<vector> 表示优先从系统目录而不是本地目录中查找头文件.
vector 对象被放置在std名字空间中.这样设计是为了防止冲突.
[解决办法]
编译器编译从头文件开始,你关于vector的方法与定义都在那个头文件里~你自己写一般都是写在cpp之中才会造成你有这种疑问吧