前処理と後処理


自己加算オペレータと自己減算オペレータは、後置演算i++ではなく、前置演算++iを使用することを推奨します.前置演算を使用する作業が少ない場合は、1を加えて結果を返すだけでよいが、後置演算では変数を確立して1を加えた値を保存し、1を加える前の値を返す必要がある.しかし、コンテナや配列にアクセスする場合、一般的には後置演算を使用します.
#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を使用すると、エラーが表示されます.