私は例えば、人間が読める文字列型にいくつかのunsigned char型マシンの値をマッピングするためのstd ::マップを使用しています:キーがない場合に返されるものを定義できるstd :: mapを持つ最良の方法は?
std::map<unsigned char, std::string> DEVICE_TYPES = {
{ 0x00, "Validator" },
{ 0x03, "SMART Hopper" },
{ 0x06, "SMART Payout" },
{ 0x07, "NV11" },
};
は、私はこれを変更したいのですが、その渡されたキーが存在しない場合、マップは「不明」を返します。呼び出し元インターフェースを同じ状態にしたい(つまり、[]演算子を使用してマップから文字列を取得するだけです)。これを行う最善の方法は何ですか?私はWindows 7でC++ 11を利用できます。
ラッパーを作成し、 '' '' [] '' ''演算子を実装。 – mascoj
良い提案。しかし、私は例のようにリストの初期化子を使用してコンストラクタがどのように見えるか分かりません。その上の任意のアイデア? – SeanLabs