关于在Dev-C++4.0中使用命名空间遇到的不解的地方!

houdy 2003-11-25 04:38:54
我包含<string>等C++标准库,按理说这些库中的类都在一个叫做std的命名空间中定义的,使用的时候要说明这个空间,否则会报错,好多书上都是这样写的。但是在Dev-C++4。0中,你不声明都可以使用std空间中的东西。比如:
#include <string>
#include <iostream>
//**注意这里没有使用using namespace std;

int main()
{
string name("houdy");
cout<<name<<endl;
return 0;
}
按理说是编译不通过的,不过确实通过了,怎么回来?


...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunfeng007 2003-11-27
  • 打赏
  • 举报
回复
4.9.8.0版的你这样写肯定通不过,升级把
逸少 2003-11-26
  • 打赏
  • 举报
回复
因为为了支持老的 C++ 编译器的缘故,很多 stl 的实现可能使用宏在不用名字空间的编译器中也能使用。 你看看, dev-C++ 的 stl 中是不是实用了带有含 NONAMESPACE 字符串之类的宏
smaxll 2003-11-26
  • 打赏
  • 举报
回复
年轻人有反叛精神是好事
lishifeng 2003-11-25
  • 打赏
  • 举报
回复
编译器的特殊实现。
njSeeWhy 2003-11-25
  • 打赏
  • 举报
回复
标准归标准,但dev-c++不一定就完全按标准办事,为了程序的可移植性,最好还是把using namespace std加上去吧。

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧