cout和cin不是函数,那么它们是什么?

时间:2013-11-19 11:42:07

标签: c++ iostream

通常在C编程语言中我们认为printf和scanf是函数。 当谈到cout和cin时,在C ++中它们是什么?我的意思是它们不能成为函数,因为它们没有括号,所以它们不是函数。 那么什么是cout和cin是标准输入和输出函数?还是其他什么?

4 个答案:

答案 0 :(得分:18)

std::coutstd::cin分别是类std::ostreamstd::istream的全局对象,它们重载了运算符<<>>。您应该阅读operator overloading

   cout    <<      expr  ;
  ~~~~~~  ~~~~   ~~~~~~~~
  object   op.   argument 

就像一个函数调用;该函数是一个重载的运算符和一个快捷方式:

cout.operator<<(expr);

或者这个:

operator<<(cout, expr);

取决于重载分辨率的结果

答案 1 :(得分:7)

coutostream类型的对象。 cinistream类型的对象。

答案 2 :(得分:3)

它们是全局变量,在标题<iostream>

中声明

答案 3 :(得分:-1)

假设x是一个变量(让整数类型)。我们想把值放在其中。我们做什么?

我们写cin&gt;&gt; x。

但我们也可以通过编写cin.operator&gt;&gt;(x)来输入int数据。这意味着cin是一个对象和运算符&gt;&gt;是一个传递x的函数。