以下の特定のコードのロジックをフォローする際に問題があります。ポインタの算術ポスト/プリフィックスのインクリメント
int i[] = { 21, 4, -17, 45 };
int* i_ptr = i;
std::cout << (*i_ptr)++ << std::endl; // 21
std::cout << *i_ptr << std::endl; // 22
std::cout << *i_ptr++ << std::endl; // 22
std::cout << *(i_ptr - 1) << std::endl; // 22
std::cout << *i_ptr << std::endl; // 4
std::cout << ++*i_ptr << std::endl; // 5
std::cout << *++i_ptr << std::endl; // -17
system("pause");
私の問題は、5
std::cout << ++*i_ptr << std::endl; // 5
へ
std::cout << *(i_ptr - 1) << std::endl; // 22
4に
std::cout << *i_ptr << std::endl; // 4
そして...このコードのビットが22から行ったのですか
このコードを最初に読んだとき、私は22がjusだと思った私はそれがC++演算子の優先順位と関係していることを理解していますが、これは私には意味がありません。
OH!私はダムです。助けてくれてありがとう! :) – 73memedream