前処理と後処理
自己加算オペレータと自己減算オペレータは、後置演算i++ではなく、前置演算++iを使用することを推奨します.前置演算を使用する作業が少ない場合は、1を加えて結果を返すだけでよいが、後置演算では変数を確立して1を加えた値を保存し、1を加える前の値を返す必要がある.しかし、コンテナや配列にアクセスする場合、一般的には後置演算を使用します.
後自己増加の優先度はインデックスより高いため、*it++は*(it++)に相当し、すなわち、まず自己増加操作を行い、その後、自己増加前の数を返し、その後、インデックスを解除する.この場合、前置き操作++itを使用すると、エラーが表示されます.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> number;
for(int i = 0; i < 5 ;i++)
{
number.push_back(i);
}
vector<int>::const_iterator it = number.begin();
while(it != number.end())
{
cout<<*it++<<endl;
}
return 0;
}
後自己増加の優先度はインデックスより高いため、*it++は*(it++)に相当し、すなわち、まず自己増加操作を行い、その後、自己増加前の数を返し、その後、インデックスを解除する.この場合、前置き操作++itを使用すると、エラーが表示されます.