私はC++コードをコンパイルして実行するときに実際に何が起こっているのか理解しようとしていますが、cout << "output";
という行は少し混乱しています。C++で `cout <<" output ";`を実行するとどうなりますか?
私は<<
は、オペレータはビット単位のleftshift演算子であることを知っている、とy = x << 6
を実行する6ビットだけ左へx
シフトに起因y
に値を割り当てること。
Iはまた、「< <」、ストリームに対して、挿入演算子であることを知っている、とcout << "output";
を実行すると、オブジェクトcout
に文字列output
を挿入すること。私が知りたいのは何
はcout
が本当に文字列output
によって占められるビット数に対応する値で左にシフトされている場合、これは<<
、またはのオーバーロードの一例であるかどうかです。 output
が実際に<<
のオーバーロードによってcout
に挿入されている場合は、代入演算子=
ではなくビット演算子が使用されていますが、これははるかに直感的でしょうか?
質問:cout << "output"
は、端末の画面に「出力」という語をどのように配置しますか?
"私は「勘所」が左に「こんにちはワールド」の時間シフトされているのを見て、そこに止まっていました。 –
'='のオーバーロードがより直感的になると思う理由は分かりません。 –
coutとiostreamは標準のC++ライブラリに先行しており、非常に一般的に使用されていました。それは、いくつかの小さな違いを残して立ち往生しました。通常、オペレータに過負荷をかけて、意図したのと同じ一般的な意味を与えます。 – CashCow