簡體   English   中英

流插入結合后綴運算符

[英]Stream insertion combined with postfix operators

假設我正在讀取索引從1開始的數據。我希望索引從0開始。

為什么在流插入運算符之后使用后綴遞增/遞減運算符是不可接受的?

int a;
std::cin >> a--;

即使增量僅在表達式的末尾嚴格應用,后增量運算符的結果也是一個臨時對象。 要讀取一個值,需要一個左值,但臨時對象不是左值:它們必然會消失。 請注意,你也想讀值到臨時,固定在一個未確定的值a

operator>>具有一個需要int&的重載。 a--的結果是一個右值,您不能將非常量引用綁定到一個右值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM