i++と++iの効率比較


1.iは組み込みタイプであり、効率に差がないため、コンパイラは自動的に最適化される
2.iが非内蔵タイプの場合、効率は異なり、主にその機能作用が異なり、++iはi値を自増してから返すが、i++は(i)を返す一時変数であり、同時にiを自増する.
リロードオペレータの実装ロジックは、次のコードと類似していると考えられます.
  className className:: operator ++() {   ++m_iValue;  //   return   * this ; } className className:: operator ++( int ) {    className clObj;    clObj.value=value;    m_iValue++;        return   clObj; }
上のコードから分かるように、後置++は一時オブジェクトを保存する操作が1つ増えているため、効率は自然に低い.
したがって、次のようになります.
組み込みオブジェクトの場合
非組み込みオブジェクトの場合は、++i形式が望ましい