雖然在看一些代碼,我在整個下面的代碼行ostream&...這裏的'&'是什麼?
ostream& out = resp.send();
我解釋這是該RESP對象有一個返回叫了一個ostream對象的發送方法的方式來了。這裏'&'符號的用途是什麼?這是否意味着resp對象返回對類型爲ostream的對象的引用?
這將是很好的一些澄清。
謝謝
雖然在看一些代碼,我在整個下面的代碼行ostream&...這裏的'&'是什麼?
ostream& out = resp.send();
我解釋這是該RESP對象有一個返回叫了一個ostream對象的發送方法的方式來了。這裏'&'符號的用途是什麼?這是否意味着resp對象返回對類型爲ostream的對象的引用?
這將是很好的一些澄清。
謝謝
你是對的。 &爲從resp.send()引用而返回的ostream對象創建一個名爲'out'的引用。
注意:我們知道它是通過引用返回的,因爲標準流對象不能被複制,因此它不能被值返回。
例如:
int x =1;
int& y = x; //y is a reference to x.
y=2;
cout<<x; //prints 2
Here是C引用了一個很好的解釋++(從C++布魯斯Eckel的書思考)
有道理。謝謝! – 2012-07-11 04:21:29
的&符號用來聲明引用。這並不一定意味着resp.send()返回一個引用,儘管你可以假設'out'變量將從ostream派生,並且是有效的。
只要在作品中拋出一個扳手,resp.send()也可能返回一個完全不同的對象,並隱式轉換爲對ostream的引用。
如果你有興趣,這裏是引用的性能很好的總結: http://yosefk.com/c++fqa/ref.html
是的,你很可能正確地回答了自己的問題。 – Mysticial 2012-07-11 03:54:39