1

マップを定義しましたが、

static std::map<std::string, std::string> myentries;

エントリはキーと値の文字列によって動的に入力され、要素とシーケンスの数は動的です..

myentries[key] = value; 

ここでhostName、キーがわかっているマップから 7 つのパラメーターを取得する必要があります。portuser1user2user3

1 つの方法は、5 つのパラメーターすべてにアクセスし、..のような 5 つのステートメントを使用することです。

std::map<std::string, std::string>::iterator iterparam1 = entries_.find("hostName");

アクセス.. iterparam1->second.data()_iterparam2->second.data()

マップからサブセットを知っているので、この単純なアプローチはその仕事をしますが、提案された/代替アプローチの現在の利点と欠点を備えたこの方法に代わるものがあるかどうかを議論したいと思います..

御時間ありがとうございます :)

4

1 に答える 1

0

あなたのアプローチで間違っているのは、ホストのパラメーターを保存することにした方法だと思います。キーと値のペアのセットよりも、タイプ Host (カスタム定義の構造) の構造を保存することをお勧めします。そうしないと、コードのある時点で、キー名を構造内の実際のフィールドに何らかの方法でマップする必要があり、コードの保守が難しくなり、安全性が低下します。クラスを回避しようとしないでください。

于 2013-04-24T15:13:18.890 に答える