[解決済み] C++に'byte'データ型はありますか?
質問
インクルードするヘッダーファイルはありますか?
このコードはコンパイルエラーになります。
#include <iostream>
using namespace std;
int main()
{
byte b = 2;
cout << b << endl;
return 0;
}
解決方法は?
C++にはbyteデータ型はありません。しかし、標準ライブラリのbitsetヘッダをインクルードして、byteのtypedefを作成することは可能です。
typedef bitset<8> BYTE;
注:WinDef.hはWindowsのコードにBYTEを定義しているので、Windowsをターゲットにする場合は、BYTE以外のものを使用したほうがいいかもしれません。
編集部:答えが間違っているという指摘にお答えします。 答えは間違っていません。質問は、「C++に'byte'データ型はあるか」です。答えは、「C++にbyteデータ型はありません」です。
質問された可能性のある代替案に関して、なぜその代替案が良いのですか?
当時の私のC++規格のコピーによると。
文字(char)として宣言されたオブジェクトは、実装の基本文字セットの任意のメンバーを格納するのに十分な大きさでなければならない。3.9.1.1
もし、コンパイラの実装が基本文字セットを格納するために16ビットを必要とするならば、charのサイズは16ビットであることを示唆していると私は読みました。現在のコンパイラがcharに8ビットを使用する傾向があることは一つの事実ですが、私の知る限りでは、確かに8ビットであるという保証はないようです。
一方、クラステンプレートbitset<N>は、固定ビット数Nからなるシーケンスを格納することができるオブジェクトを記述します。つまり、テンプレート・パラメータに8を指定することで、8ビットからなるシーケンスを格納することができるオブジェクトを得ることができるのです。
そのため、書いているプログラムの文脈で、charという選択肢が良いかどうかは、間違っているかもしれませんが、私の理解では、コンパイラとその時の要件に依存します。したがって、私が知る限り、コードを書いている個人が、提案された代替案が自分の要件/要望/必要性に適しているかどうかを判断する必要があるのです。
関連
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された
-
[解決済み] C++テンプレート関数定義の.CPPファイルへの格納
-
[解決済み] error: 'this' 引数に xxx を渡すと修飾子が消える
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】C++の余分な資格エラー
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] 配列のベクトルを扱う正しい方法