string vector: push_back() and back()

在解析基于键值对的配置文件时,常常需要将key和value解析出来作为其它函数的两个参数去做进一步的操作。下面的代码演示了如何运用vector<string>作为载体存储解析出来的key和value:

// 解析 key = value
std::string input = "key = value";
int tokensize = 0;
typedef std::vector<std:string> string_vector_t;
string_vector_t token;
tokens.push_back(""); // 添加空string ""

for (std::string::const_iterator si = input.begin(); si != input.end(); ++si) {
    if (*si == '=') {
        tokens.push_back(""); // 添加空string “”
    }
    else {
        tokens.back() += *si; // 在空string后面append字符,该string随着每次append不断的更新
    }
    tokensize = tokens.size(); // tokensize == 2;
}

  

原文地址:https://www.cnblogs.com/sanquanfeng/p/3097361.html