ページ 11

C++の質問です

Posted: 2011年1月22日(土) 11:04
by Suikaba
質問させていただきます。

コード:

unsigned File::getUnsigned( int p ) const {
	const unsigned char* up;
	up = reinterpret_cast< const unsigned char* >( mData );
	unsigned r = up[ p ];
	r |= up[ p + 1 ] << 8;
	r |= up[ p + 2 ] << 16;
	r |= up[ p + 3 ] << 24;
	return r;
}
このコードの
r |= up[ p + 1 ] << 8;

<< 8
というのはどういう意味でしょうか?
cout << " " << endl;
と同じように使われているのでしょうか?
よろしくお願いします。

Re: C++の質問です

Posted: 2011年1月22日(土) 11:12
by Ciel
ビット演算で今すぐ検索

Re: C++の質問です

Posted: 2011年1月22日(土) 11:19
by softya(ソフト屋)
ビットシフトの演算子ですね。
どちらかと言うと入出力ストリームのcoutでの<<演算子オーバーロードの方が歪んだ使い方なのです。
クラスの勉強がまだだったら、すいません。

Re: C++の質問です

Posted: 2011年1月22日(土) 11:26
by Suikaba
お2人ともありがとうございました。
ビット演算ですか。了解しました。