int a;
std::cin >> a;
std::cout << a;
它打印出一个。 &lt;&lt;&lt;&lt;&lt;&lt;&lt;和&gt;&gt;在输入和输出时,请简单说明。我看到了类似问题的答案,并没有真正理解他们使用的行话。还有其他方法可以使用&lt;&lt;和&gt;&gt;?
答案 0 :(得分:7)
它的语法糖。实际上叫做的是:
//mode.php
<?php
header("Content-type: text/css; charset: UTF-8;");
$mycolor = (isset($_GET['theColor'])) ? $_GET['theColor']: false;
?>
.body{
background-color: <?php echo $mycolor; ?>;
}
现在,内置类型的这些运算符内部发生的事情很简单,很难解释。
粗略地说:
int a;
operator>>(std::cin, a);
operator<<(std::cout, a);
将其输入转换为字符/字节并发送
字节到其关联的设备,通常是终端。operator<<
从其关联设备读取文本/字节(例如,
键盘)并将它们转换为各自的内置类型
表示。这示意性地如下所示:
答案 1 :(得分:0)
在C ++中>>
和<<
是二元运算符,如-
或+
。
它们通常意味着调用声明为
的函数C operator << (A a, B b)
如果你想制作一个花哨的大整数类并给它移位运算符,你可以像任何其他运算符一样重载这个,你可以做任何你想做的事。
当你使用像std::cout
这样的ostream时,它通常会调用一个带有这样签名的函数:
std::ostream & operator << (std::ostream &, const B & b)
这意味着,将第二个参数b
写入作为第一个参数给出的流,并返回它。所以
std::cout << "a" << "b" << "c"
意味着像
output(output(output(std::cout, "a"), "b"), "c")
如果函数被赋予“常规”名称output
而不是使用运算符重载。
std::cin
类似,如果您想要更详细的信息,我需要提出更准确的问题。
答案 2 :(得分:0)
&#34; std :: cin&gt;&gt;一个;&#34; - 它转换为std :: istream&amp;的std :: istream的::运营商GT;&GT;(一); http://www.cplusplus.com/reference/istream/istream/operator%3E%3E/
&#34; std :: cout&lt;&lt;一个;&#34; - 它转换为std :: ostream&amp;的std :: ostream的::运营商LT;≤(A); http://www.cplusplus.com/reference/ostream/ostream/operator%3C%3C/
答案 3 :(得分:0)
C ++使用Operator Overloading的概念,这意味着对于任何给定的对象,您可以通过调用任何给定的运算符来指定调用的函数。
其中一个经典示例是complex
类,旨在处理复数。例如,您可以定义两个complex
数字:
complex a(1,0.5); // 1+.5i
complex b(-2.5,1); // -2.5 + i
在没有运算符重载的编程语言中,你可以编写一个这样的add函数:
complex add(complex b) {
return complex(r + b.r, i + b.i);
}
并像这样调用它:
complex c = a.add(b);//This technically invokes an operator overload on the '=' sign, but just bear with me.
但是,对于运算符重载,您可以编写如下函数:
complex operator+(complex b) {
return complex(r + b.r, i + b.i);
}
并按照以下方式执行添加:
complex c = a + b;
在输出/输入流的情况下,他们已经定义了operator<<
和operator>>
函数来对其对象执行专门的任务。因此,您可以调用cout << mynum
,mynum
将附加到流的末尾。