0

次のように、キーが文字列で、値が文字列のベクトルであるマップがあります

   std::map<std::string, std::vector<std::string> > keyTable;

値の文字列を解析してマップに格納するために、次のコードを作成しました。値は | で区切られます。それらを解析し、文字列のベクトルとしてマップに保存する必要があります。

したがって、それを行う次のコードがあります。速度と効率の点で、これに対するより良い解決策はありますか?

    keyTable.insert(key, std::vector<std::string>());
    std::vector<std::string>& valueVect = keyTable[key];
    boost::tokenizer tokens( str , "|");
    for ( boost::tokenizer::iterator tok_iter = tokens.begin() ; tok_iter != tokens.end() ; ++tok_iter )
    {
        valueVect.push_back(*tok_iter);
    }
4

2 に答える 2