私は、後置インクリメントおよびデクリメント演算子がオペランドのの右辺値を返すことを読んだ。この可能性のようなコードであるか、それが本当であると仮定すると?:ポストフィックスインクリメントポインタへの割り当て
int arr[5]{};
int *p = arr;
for (int i = 0; i != 5; ++i)
*p++ = i;
私の思考proceesするオペレータも優先による
- で、
*p
が最初に評価されます。 - そして、後置インクリメントは値をインクリメントし、オブジェクトのコピーとしてを返します。
- 代入演算子の左辺に値が入るべきではないので、私は混乱します。 したがって、私の質問は基本的には:どのように
*p++ = i;
が可能ですか?
もちろん、ああ。私はドット演算子と逆参照演算子が混在しています。今はばかげているようだ。ありがとう。 –
素敵な答えJodocus、私より1分早く! @ ZylonD.Lite、彼の答えを受け入れることを忘れないでください*。 – gsamaras
もちろん!完了しました。 –