浅谈cin与cout
来源:互联网 发布:北大出版社《最优化》 编辑:程序博客网 时间:2024/05/22 17:41
今天开始看了c++ ,第一章看到说cin.get()可以这样用,我猜测:那这样不就是说明cin是一个对象吗,然后调用他的iostream的类中的get函数
于是我试图找到iostream.h这个头文件,找啊找,找啊找,没找到我想要的cin这个声明对象。
于是看到#inlcude <istream.h>
终于在这个头文件中找到了
class _CRTIMP istream : virtual public ios {public: istream(streambuf*); virtual ~istream(); int ipfx(int =0); void isfx() { unlockbuf(); unlock(); } inline istream& operator>>(istream& (__cdecl * _f)(istream&)); inline istream& operator>>(ios& (__cdecl * _f)(ios&)); istream& operator>>(char *); inline istream& operator>>(unsigned char *); inline istream& operator>>(signed char *); istream& operator>>(char &); inline istream& operator>>(unsigned char &); inline istream& operator>>(signed char &); istream& operator>>(short &); istream& operator>>(unsigned short &); istream& operator>>(int &); istream& operator>>(unsigned int &); istream& operator>>(long &); istream& operator>>(unsigned long &); istream& operator>>(float &); istream& operator>>(double &); istream& operator>>(long double &); istream& operator>>(streambuf*); int get(); inline istream& get( char *,int,char ='\n'); inline istream& get(unsigned char *,int,char ='\n'); inline istream& get( signed char *,int,char ='\n'); istream& get(char &); inline istream& get(unsigned char &); inline istream& get( signed char &); istream& get(streambuf&,char ='\n'); inline istream& getline( char *,int,char ='\n'); inline istream& getline(unsigned char *,int,char ='\n'); inline istream& getline( signed char *,int,char ='\n'); inline istream& ignore(int =1,int =EOF); istream& read(char *,int); inline istream& read(unsigned char *,int); inline istream& read(signed char *,int); int gcount() const { return x_gcount; } int peek(); istream& putback(char); int sync(); istream& seekg(streampos); istream& seekg(streamoff,ios::seek_dir); streampos tellg(); void eatwhite();
extern _CRTIMP istream_withassign cin;
这个是public中的代码,也就是说
在我们调用iostream的时候,iostream中会包含istream和ostream
又因为操作运算符》重载 以及 get()等函数也在public中,并且cin对象为extern
所以我们才可以直接输入或者输出 ,或者调用一些函数,比如 cin.get()
istream& operator>>(char *); inline istream& operator>>(unsigned char *); inline istream& operator>>(signed char *); istream& operator>>(char &); inline istream& operator>>(unsigned char &); inline istream& operator>>(signed char &); istream& operator>>(short &); istream& operator>>(unsigned short &); istream& operator>>(int &); istream& operator>>(unsigned int &); istream& operator>>(long &); istream& operator>>(unsigned long &); istream& operator>>(float &); istream& operator>>(double &); istream& operator>>(long double &); istream& operator>>(streambuf*);
从这里大家也看到了,为什么说cin和cout可以不管后者的变量的类型,可以直接输入或输出,而不用像scanf和printf那样繁琐
他把每种类型都包含进去了。至于什么是istream& 这些东西我不懂,我只是这样猜测的。
^_^望大神给予指导
1 0
- 浅谈cin与cout
- 浅谈c++中的cin与cout
- std::cout、std::cin与cout.cin
- <C++>_浅谈cin&cout
- C++ cin与cout
- C++ cin与cout
- 关于cin与cout
- cin与cout
- cin与cout
- cout与cin
- 【C/C++】Cin与Cout
- cin,cout与scanf,printf
- cin/cout
- cin & cout
- cin & cout
- cin &&cout
- cin cout
- cin cout
- Android组件Broadcast Receiver学习
- HBase与MapReduce集成3-HBase2RDBMS
- MTK+Android编译
- H5+CSS工具
- php关于字串的若干问题(如截取、反转)
- 浅谈cin与cout
- IOS Xcode 插件
- 使用七牛云存储在网站中进行图片外链
- WP8.1&Win10幸运大转盘源码分享
- c++第一个例子
- 关于JVM个人浅谈(一)
- Js添加到HTML
- 在手机上外网的方法
- Mac系统下将已有项目上传到SVN服务器