BOOL
タイプをunsigned int
にマッピングした古いコンパイラで書かれた他の人のコードを使用していますが、私のコンパイラではbool
にマップされています。彼のコードのいくつかの場所では、彼はbool
型のビット単位のシフト演算子<<
を使用しています。これは私が一度も見たことがないもので、コンパイラはそれが文句を言っていないときに私を驚かせました。C++でboolをビット単位でシフトできますか?
有効なC++ですか? bool
は自動的にint
またはuint
に昇格されますか?
私はthis related questionを見ましたが、これは別の問題を明確にしていますが、シフト演算子には対応していません。
standardeseを辿ることなく、[参照](http://en.cppreference.com/w/cpp/language/operator_arithmetic)で演算子がどのように動作するかを確認できます。 – chris
私は以前にビット単位のシフトを見たことがあり、その使用法を理解しています...私は 'bool'型で使われていることを見たことがありません。私はコンパイラが許していることを知っていますが、他の人はそうですかそれは私が知りたいことです。 – Phlucious
ブールのビットシフトは論理的にどうすればよいですか? –