Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私はいくつかのコードを読んでいて、このことに出くわしました。私は今、この行を保存する全体のコンテキストを持っていません。
cout<<(*--*++ptr+1)<< endl;
これは正常にコンパイルされ、値を入力すると機能します。
その宣言はこんな感じです。
char ***ptr ;
この演算子とは何ですか?標準に含まれていますか?
これは単一の演算子ではなく、いくつかの単項演算子の組み合わせです。次のように解析されます。
*(--(*(++ptr))) + 1
したがって、ptr1は最初にインクリメントされ、次に逆参照され、次にその値がデクリメントされ、再度参照解除されます。
ptr1