鱼C论坛

 找回密码
 立即注册
查看: 3834|回复: 5

请教include和namepsace的问题

[复制链接]
发表于 2013-2-21 22:33:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问
#include<iostream>的意思是包含iostream文件是吧。
那么cin和cout功能应该是这个文件里定义的函数。
那么std::cin的std为什么要用std呢。这个函数不是封装在iostream里面了吗?那么iostream和std不应该是同一个东西吗?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-21 23:34:54 | 显示全部楼层
同求。。。。。。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-22 00:02:36 | 显示全部楼层
同一个东西吗?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-1 18:28:40 | 显示全部楼层
cin和cout不是函数,分别是在iostream.h文件中istream和ostream的两个全局对象。至于std::cin和std::cout表示cin和cout是定义在名字空间std中的。所以,iostream.h文件的内容可以简要描述如下:
#ifndef IOSTREAM_H
#define IOSTREAM_H
#include <istream>
#include <ostream>
namespace std{
        extern istream cin;
        extern ostream cout;
};
#endif
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-2 12:54:50 | 显示全部楼层
因为c++程序一般比较庞大,需要多人共同完成。防止为了不同程序员定义的名字发生冲突。就引入了命名空间。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-2 13:04:08 | 显示全部楼层
iostream所包含的函数名字定义是命名空间中,cin前面加上一个std::就是指明该函数是iostream的函数
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 04:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表