C++ 增量與減量操作符

2023-03-20 15:55 更新

因為增量和減量都是很常見的操作,所以C++為它們提供了專用操作符。++操作符的功能是將當前變量增加1,它支持int、char和double類型,而--操作符將當前變量減少1。這兩個操作符都不能應用于apstring類型,也不能應用于bool類型。

從技術角度講,增加一個變量的同時將它作為一個表達式是合法的。例如,你可能會看到這樣的寫法:

cout << i++ << endl;

看這個例子,增量發(fā)生在輸出之前或者之后并不清楚。因為這種表達式令人困惑,所以不建議讀者使用。 實際上,為了進一步阻止你使用它,我不會告訴你該語句的答案。如果想知道,請自行嘗試。

我們可以使用增量操作符重寫字符計數(shù)程序:

int index = 0;
while (index < length) {
  if (fruit[index] == ’a’) {
    count++;
  }
  index++;
}

下面是一個常見錯誤:

index = index++; // 錯誤?。?/code>

很不幸,這在語法上是正確的,編譯器不會給出警告。這個語句會導致index的值沒被改變【譯者注1】。這是個難以定位的bug。

記住,你可以寫index = index +1;,也可以寫index++;,但是不能將他們混到一起。

譯者注1: index = index++; 的實現(xiàn)與編譯器有關,原書這里的說法不是很準確。當然,這種寫法肯定是要避免的。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號